dbgate-web 5.0.1 → 5.0.2
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/public/build/bundle.js
CHANGED
|
@@ -72,7 +72,7 @@ class Animator{constructor(){this._request=null,this._charts=new Map,this._runni
|
|
|
72
72
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
73
73
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
74
74
|
PERFORMANCE OF THIS SOFTWARE.
|
|
75
|
-
***************************************************************************** */function r(e,t){for(var n=0,o=t.length,r=e.length;n<o;n++,r++)e[r]=t[n];return e}function n(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:0}function t(e,t){return e[1]<t[1]?-1:e[1]>t[1]?1:0}function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!e.length)return[];for(var o=[],i=(e=e.sort(n))[0],a=i[0],s=i[1],c=1,l=e.length;c<l;c++){var u=e[c],d=u[0],p=u[1];s<d&&(o.push([a,s]),a=d),s<p&&(s=p)}return r(r([],o),[[a,s]])}function o(e,t){return function(e,t){return t[1]>e[0]&&t[0]<e[1]}(e,t)?t[0]>e[0]&&t[1]<e[1]?[[e[0],t[0]],[t[1],e[1]]]:t[0]<=e[0]&&t[1]>=e[1]?null:t[0]>e[0]?[[e[0],t[0]]]:[[t[1],e[1]]]:[e]}function u(t,n){var r,i=e.apply(void 0,t),a=e.apply(void 0,n);if(!i.length)return[];if(!a.length)return i;for(var s=[],c=0,l=i.length;c<l;c++){for(var u=i[c],d=u[0],p=u[1],m=!0,h=0,f=a.length;h<f;h++){var g=a[h];if(!(g[1]<=d)){if(g[0]>=p)break;var _=o([d,p],g);if(!_){m=!1;break}d=(r=_[_.length-1])[0],p=r[1],_.length>1&&s.push(_[0])}}m&&s.push([d,p])}return s}function l(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];e.sort(n);for(var r=[e[e.length-1][0],e.sort(t)[0][1]],i=r[0],a=r[1],s=0,c=e.length;s<c-1;s++){var l=e[s+1],u=l[0],d=l[1];if(u>a||d<i)return null}return[i,a]}function intersectLineLine(e,t,n,o){const r=(o.y-n.y)*(t.x-e.x)-(o.x-n.x)*(t.y-e.y);if(0===r)return null;const i=((o.x-n.x)*(e.y-n.y)-(o.y-n.y)*(e.x-n.x))/r,a=((t.x-e.x)*(e.y-n.y)-(t.y-e.y)*(e.x-n.x))/r;return i<0||i>1||a<0||a>1?null:{x:e.x+i*(t.x-e.x),y:e.y+i*(t.y-e.y)}}function intersectLineBox(e,t,n){const o={x:n.left,y:n.top},r={x:n.right,y:n.top},i={x:n.left,y:n.bottom},a={x:n.right,y:n.bottom},s=[];let c;return(c=intersectLineLine(e,t,o,r))&&s.push(c),(c=intersectLineLine(e,t,r,a))&&s.push(c),(c=intersectLineLine(e,t,a,i))&&s.push(c),(c=intersectLineLine(e,t,i,o))&&s.push(c),s}function rectangleDistance(e,t){function n(e,t,n,o){let r=e-n,i=t-o;return Math.sqrt(r*r+i*i)}const o=e.left,r=e.top,i=e.right,a=e.bottom,s=t.left,c=t.top,l=t.right,u=t.bottom,d=l<o,p=i<s,m=u<r,h=a<c;return h&&d?n(o,a,l,c):d&&m?n(o,r,l,u):m&&p?n(i,r,s,u):p&&h?n(i,a,s,c):d?o-l:p?s-i:m?r-u:h?c-a:0}function rectanglesHaveIntersection(e,t){const n=l([e.left,e.right],[t.left,t.right]),o=l([e.top,e.bottom],[t.top,t.bottom]);return!!n&&!!o}class Vector2D{constructor(e,t){this.x=e,this.y=t}static random(){return new Vector2D(10*(Math.random()-.5),10*(Math.random()-.5))}add(e){return new Vector2D(this.x+e.x,this.y+e.y)}subtract(e){return new Vector2D(this.x-e.x,this.y-e.y)}multiply(e){return new Vector2D(this.x*e,this.y*e)}divide(e){return new Vector2D(this.x/e||0,this.y/e||0)}magnitude(){return Math.sqrt(this.x*this.x+this.y*this.y)}normal(e){return new Vector2D(-this.y,this.x)}normalise(){return this.divide(this.magnitude())}}function solveOverlapsInIntervalArray(e,t,n){const o=u([[-1/0,1/0]],n),r=[];for(const n of o){if(!(n[1]-n[0]<t))if(n[1]<e)r.push(n[1]-t/2);else if(n[0]>e)r.push(n[0]+t/2);else{let o=e;o-t/2<n[0]&&(o=n[0]+t/2),o+t/2>n[1]&&(o=n[1]-t/2),r.push(o)}}return _.minBy(r,(t=>Math.abs(t-e)))}const MIN_NODE_DISTANCE=50,SPRING_LENGTH=100,SPRINGY_STEPS=50,GRAVITY_X=.005,GRAVITY_Y=.01,REPULSION=1e3,MAX_FORCE_SIZE=100,NODE_MARGIN=30,GRAVITY_EXPONENT=1.05;class GraphNode{constructor(e,t,n,o,r){this.graph=e,this.designerId=t,this.width=n,this.height=o,this.fixedPosition=r,this.neightboors=[]}initialize(){this.radius=Math.sqrt(this.width*this.width/4+this.height*this.height/4)}}class GraphEdge{constructor(e,t,n){this.graph=e,this.source=t,this.target=n}}class GraphDefinition{constructor(){this.nodes={},this.edges=[]}addNode(e,t,n,o){this.nodes[e]=new GraphNode(this,e,t,n,o)}addEdge(e,t){const n=this.nodes[e],o=this.nodes[t];n&&o&&!this.edges.find((e=>e.source==n&&e.target==o||e.target==n&&e.source==o))&&this.edges.push(new GraphEdge(this,n,o))}initialize(){for(const e of Object.values(this.nodes)){for(const t of this.edges)t.source!=e||e.neightboors.includes(t.target)||e.neightboors.push(t.target),t.target!=e||e.neightboors.includes(t.source)||e.neightboors.push(t.source);e.initialize()}}detectCentreNode(){if(_.values(this.nodes).find((e=>e.fixedPosition)))return null;const e=[];for(const t of _.values(this.nodes)){let n=!0;for(const e of _.values(this.nodes))if(t!=e&&!t.neightboors.includes(e)){n=!1;break}n&&e.push(t)}return 1==e.length?e[0]:null}}class LayoutNode{constructor(e,t,n){this.node=e,this.x=t,this.y=n,this.left=t-e.width/2,this.top=n-e.height/2,this.right=t+e.width/2,this.bottom=n+e.height/2,this.position=new Vector2D(t,n),this.rangeXPadded=[this.left-NODE_MARGIN,this.right+NODE_MARGIN],this.rangeYPadded=[this.top-NODE_MARGIN,this.bottom+NODE_MARGIN]}translate(e,t,n=!1){return this.node.fixedPosition&&!n?this:new LayoutNode(this.node,this.x+e,this.y+t)}distanceTo(e){return rectangleDistance(this,e)}hasPaddedIntersect(e){const t=l(this.rangeXPadded,e.rangeXPadded),n=l(this.rangeYPadded,e.rangeYPadded);return t&&t[1]-t[0]>.1&&n&&n[1]-n[0]>.1}}class ForceAlgorithmStep{constructor(e){this.layout=e,this.nodeForces={}}applyForce(e,t){t.magnitude()>MAX_FORCE_SIZE&&(t=t.normalise().multiply(MAX_FORCE_SIZE)),e.node.designerId in this.nodeForces?this.nodeForces[e.node.designerId]=this.nodeForces[e.node.designerId].add(t):this.nodeForces[e.node.designerId]=t}applyCoulombsLaw(){for(const e of _.values(this.layout.nodes))for(const t of _.values(this.layout.nodes)){if(e.node.designerId==t.node.designerId)continue;const n=e.position.subtract(t.position).normalise(),o=e.distanceTo(t)+MIN_NODE_DISTANCE;this.applyForce(e,n.multiply(.5*REPULSION/(o*o))),this.applyForce(t,n.multiply(-.5*REPULSION/(o*o)))}}applyHooksLaw(){for(const t of this.layout.edges){const n=t.target.position.subtract(t.source.position),o=SPRING_LENGTH-t.length;var e=n.normalise();this.applyForce(t.source,e.multiply(-.5*o)),this.applyForce(t.target,e.multiply(.5*o))}}applyGravity(){for(const e of _.values(this.layout.nodes))this.applyForce(e,new Vector2D(-Math.pow(Math.abs(e.position.x),GRAVITY_EXPONENT)*Math.sign(e.position.x)*GRAVITY_X,-Math.pow(Math.abs(e.position.y),GRAVITY_EXPONENT)*Math.sign(e.position.y)*GRAVITY_Y))}moveNode(e){const t=this.nodeForces[e.node.designerId];return t?e.translate(t.x,t.y):e}}class LayoutEdge{}function addNodeNeighboors(e,t,n){const o=_.sortBy(e,[e=>e.neightboors.length,e=>e.height,e=>e.designerId]);for(const e of o)n.has(e.designerId)||(n.add(e.designerId),t.push(e),addNodeNeighboors(e.neightboors,t,n));return t}class GraphLayout{constructor(e){this.graph=e,this.nodes={},this.edges=[]}static createCircle(e,t={x:0,y:0}){const n=new GraphLayout(e);if(_.isEmpty(e.nodes))return n;const o=new Set,r=[],i=e.detectCentreNode();addNodeNeighboors(_.values(e.nodes).filter((e=>e!=i&&!e.fixedPosition)),r,o);const a=_.max(r.map((e=>e.radius))),s=r.length*a/(2*Math.PI)+a;let c=0;const l=2*Math.PI/r.length;for(const e of r)n.nodes[e.designerId]=new LayoutNode(e,t.x+Math.sin(c)*s,t.y+Math.cos(c)*s),c+=l;for(const t of _.values(e.nodes).filter((e=>e.fixedPosition)))n.nodes[t.designerId]=new LayoutNode(t,t.fixedPosition.x,t.fixedPosition.y);return i&&(n.nodes[i.designerId]=new LayoutNode(i,t.x,t.y)),n.fillEdges(),n}fillEdges(){this.edges=this.graph.edges.map((e=>{const t=new LayoutEdge;t.edge=e;const n=this.nodes[e.source.designerId],o=this.nodes[e.target.designerId];return t.length=n.distanceTo(o),t.source=n,t.target=o,t}))}changePositions(e,t=!0){const n=new GraphLayout(this.graph);return n.nodes=_.mapValues(this.nodes,e),t&&n.fillEdges(),n}fixViewBox(){const e=_.min(_.values(this.nodes).map((e=>e.left))),t=_.min(_.values(this.nodes).map((e=>e.top)));return this.changePositions((n=>n.translate(50-e,50-t,!0)))}springyStep(){const e=new ForceAlgorithmStep(this);return e.applyHooksLaw(),e.applyCoulombsLaw(),e.applyGravity(),this.changePositions((t=>e.moveNode(t)))}springyAlg(){let e=this;for(let t=0;t<SPRINGY_STEPS;t++)e=e.springyStep();return e}solveOverlaps(){const t=_.sortBy(_.values(this.nodes),(e=>e.position.magnitude())),n=new GraphLayout(this.graph);for(const o of t){const t=_.values(n.nodes);if(t.find((e=>e.hasPaddedIntersect(o)))){const r=e(...t.filter((e=>l(e.rangeYPadded,o.rangeYPadded))).map((e=>e.rangeXPadded))),i=e(...t.filter((e=>l(e.rangeXPadded,o.rangeXPadded))).map((e=>e.rangeYPadded))),a=solveOverlapsInIntervalArray(o.x,o.node.width+2*NODE_MARGIN,r),s=solveOverlapsInIntervalArray(o.y,o.node.height+2*NODE_MARGIN,i),c=Math.abs(a-o.x)<Math.abs(s-o.y)?new LayoutNode(o.node,a,o.y):new LayoutNode(o.node,o.x,s);n.nodes[o.node.designerId]=c}else n.nodes[o.node.designerId]=o}return n.fillEdges(),n}print(){for(const e of _.values(this.nodes))console.log({designerId:e.node.designerId,left:e.left,top:e.top,right:e.right,bottom:e.bottom})}}function create_default_slot$J(e){let t,n,o,r,i;return r=new ColorSelector({props:{value:e[3]}}),r.$on("change",e[6]),{c(){t=element("div"),n=text$1(e[1]),o=space(),create_component(r.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(r,e,a),i=!0},p(e,t){(!i||2&t)&&set_data(n,e[1]);const o={};8&t&&(o.value=e[3]),r.$set(o)},i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(r,e)}}}function create_header_slot$8(e){let t;return{c(){t=text$1(e[0])},m(e,n){insert(e,t,n)},p(e,n){1&n&&set_data(t,e[0])},d(e){e&&detach(t)}}}function create_fragment$1O(e){let t,n;const o=[e[4]];let r={$$slots:{header:[create_header_slot$8],default:[create_default_slot$J]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};143&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1M(e,t,n){let o;const r=["color","header","text","onChange"];let i=compute_rest_props(t,r),{color:a}=t,{header:s}=t,{text:c}=t,{onChange:l}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,r)),"color"in e&&n(5,a=e.color),"header"in e&&n(0,s=e.header),"text"in e&&n(1,c=e.text),"onChange"in e&&n(2,l=e.onChange)},e.$$.update=()=>{32&e.$$.dirty&&n(3,o=a)},[s,c,l,o,i,a,e=>{n(3,o=e.detail),l(o)}]}class ChooseColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1M,create_fragment$1O,safe_not_equal,{color:5,header:0,text:1,onChange:2})}}function get_each_context$j(e,t,n){const o=e.slice();return o[69]=t[n],o[70]=t,o[71]=n,o}function get_each_context_1$2(e,t,n){const o=e.slice();return o[72]=t[n],o[73]=t,o[74]=n,o}function create_if_block_1$p(e){let t;return{c(){t=element("div"),t.textContent="Drag & drop tables or views from left panel here",attr(t,"class","empty svelte-1mnidtl")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_each_block_1$2(e,t){let n,o,r,i,a=t[72];const s=()=>t[55](o,a),c=()=>t[55](null,a);var l=t[4];function u(e){return{props:{domTables:e[6],reference:e[72],onChangeReference:e[26],onRemoveReference:e[27],designer:e[0],settings:e[3]}}}return l&&(o=new l(u(t)),s()),{key:e,first:null,c(){n=empty(),o&&create_component(o.$$.fragment),r=empty(),this.first=n},m(e,t){insert(e,n,t),o&&mount_component(o,e,t),insert(e,r,t),i=!0},p(e,n){a!==(t=e)[72]&&(c(),a=t[72],s());const i={};if(64&n[0]&&(i.domTables=t[6]),131072&n[0]&&(i.reference=t[72]),1&n[0]&&(i.designer=t[0]),8&n[0]&&(i.settings=t[3]),l!==(l=t[4])){if(o){group_outros();const e=o;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}l?(o=new l(u(t)),s(),create_component(o.$$.fragment),transition_in(o.$$.fragment,1),mount_component(o,r.parentNode,r)):o=null}else l&&o.$set(i)},i(e){i||(o&&transition_in(o.$$.fragment,e),i=!0)},o(e){o&&transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(n),c(),e&&detach(r),o&&destroy_component(o,e)}}}function create_each_block$j(e,t){let n,o,r,i=t[69];const a=()=>t[56](o,i),s=()=>t[56](null,i);let c={onCreateReference:t[28],onSelectColumn:t[32],onChangeColumn:t[33],onAddReferenceByColumn:t[29],onAddAllReferences:t[30],onChangeTableColor:t[31],onMoveReferences:t[41],table:t[69],conid:t[1],database:t[2],zoomKoef:t[14],isMultipleTableSelection:t[15],onChangeTable:t[22],onBringToFront:t[23],onSelectTable:t[24],onRemoveTable:t[25],onMoveStart:t[35],onMove:t[36],onMoveEnd:t[37],domCanvas:t[8],designer:t[0],sourceDragColumn$:t[18],targetDragColumn$:t[19],settings:t[3]};return o=new DesignerTable({props:c}),a(),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){i!==(t=e)[69]&&(s(),i=t[69],a());const r={};128&n[0]&&(r.table=t[69]),2&n[0]&&(r.conid=t[1]),4&n[0]&&(r.database=t[2]),16384&n[0]&&(r.zoomKoef=t[14]),32768&n[0]&&(r.isMultipleTableSelection=t[15]),256&n[0]&&(r.domCanvas=t[8]),1&n[0]&&(r.designer=t[0]),8&n[0]&&(r.settings=t[3]),o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),s(),destroy_component(o,e)}}}function create_if_block$N(e){let t,n,o;return{c(){t=svg_element("svg"),n=svg_element("polyline"),attr(n,"points",o=`\n ${e[11].x},${e[11].y}\n ${e[11].x},${e[12].y}\n ${e[12].x},${e[12].y}\n ${e[12].x},${e[11].y}\n ${e[11].x},${e[11].y}\n `),attr(n,"class","svelte-1mnidtl"),attr(t,"class","drag-rect svelte-1mnidtl")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){6144&t[0]&&o!==(o=`\n ${e[11].x},${e[11].y}\n ${e[11].x},${e[12].y}\n ${e[12].x},${e[12].y}\n ${e[12].x},${e[11].y}\n ${e[11].x},${e[11].y}\n `)&&attr(n,"points",o)},d(e){e&&detach(t)}}}function create_fragment$1N(e){let t,n,o,r,i,a,s,c,l,u,d=[],p=new Map,m=[],h=new Map,f=!(e[7]?.length>0)&&create_if_block_1$p(),g=e[17]||[];const _=e=>e[72].designerId;for(let t=0;t<g.length;t+=1){let n=get_each_context_1$2(e,g,t),o=_(n);p.set(o,d[t]=create_each_block_1$2(o,n))}let $=e[7]||[];const b=e=>e[69].designerId;for(let t=0;t<$.length;t+=1){let n=get_each_context$j(e,$,t),o=b(n);h.set(o,m[t]=create_each_block$j(o,n))}let v=e[11]&&e[12]&&create_if_block$N(e);return{c(){t=element("div"),f&&f.c(),n=space(),o=element("div");for(let e=0;e<d.length;e+=1)d[e].c();r=space();for(let e=0;e<m.length;e+=1)m[e].c();i=space(),v&&v.c(),attr(o,"class","canvas svelte-1mnidtl"),attr(o,"style",a=`width:${e[9]}px;height:${e[10]}px;\n ${e[3]?.customizeStyle&&e[0]?.style?.zoomKoef?`zoom:${e[0]?.style?.zoomKoef};`:""}\n `),attr(t,"class","wrapper noselect svelte-1mnidtl")},m(a,p){insert(a,t,p),f&&f.m(t,null),append(t,n),append(t,o);for(let e=0;e<d.length;e+=1)d[e].m(o,null);append(o,r);for(let e=0;e<m.length;e+=1)m[e].m(o,null);append(o,i),v&&v.m(o,null),e[57](o),c=!0,l||(u=[listen(o,"dragover",dragover_handler),listen(o,"drop",e[34]),listen(o,"mousedown",e[58]),action_destroyer(s=moveDrag.call(null,o,e[3]?.canSelectTables?[e[38],e[39],e[40]]:null)),action_destroyer(contextMenu.call(null,t,e[42]))],l=!0)},p(e,l){e[7]?.length>0?f&&(f.d(1),f=null):f||(f=create_if_block_1$p(),f.c(),f.m(t,n)),201465945&l[0]&&(g=e[17]||[],group_outros(),d=update_keyed_each(d,l,_,1,e,g,p,o,outro_and_destroy_block,create_each_block_1$2,r,get_each_context_1$2),check_outros()),1942798767&l[0]|1143&l[1]&&($=e[7]||[],group_outros(),m=update_keyed_each(m,l,b,1,e,$,h,o,outro_and_destroy_block,create_each_block$j,i,get_each_context$j),check_outros()),e[11]&&e[12]?v?v.p(e,l):(v=create_if_block$N(e),v.c(),v.m(o,null)):v&&(v.d(1),v=null),(!c||1545&l[0]&&a!==(a=`width:${e[9]}px;height:${e[10]}px;\n ${e[3]?.customizeStyle&&e[0]?.style?.zoomKoef?`zoom:${e[0]?.style?.zoomKoef};`:""}\n `))&&attr(o,"style",a),s&&is_function(s.update)&&8&l[0]&&s.update.call(null,e[3]?.canSelectTables?[e[38],e[39],e[40]]:null)},i(e){if(!c){for(let e=0;e<g.length;e+=1)transition_in(d[e]);for(let e=0;e<$.length;e+=1)transition_in(m[e]);c=!0}},o(e){for(let e=0;e<d.length;e+=1)transition_out(d[e]);for(let e=0;e<m.length;e+=1)transition_out(m[e]);c=!1},d(n){n&&detach(t),f&&f.d();for(let e=0;e<d.length;e+=1)d[e].d();for(let e=0;e<m.length;e+=1)m[e].d();v&&v.d(),e[57](null),l=!1,run_all(u)}}}const getCurrentEditor$7=()=>getActiveComponent("Designer");registerCommand({id:"designer.arrange",category:"Designer",icon:"icon arrange",name:"Arrange",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$7())||void 0===e?void 0:e.canArrange()},onClick:()=>getCurrentEditor$7().arrange()}),registerCommand({id:"diagram.export",category:"Designer",toolbarName:"Export diagram",name:"Export diagram",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$7().exportDiagram(),testEnabled:()=>{var e;return null===(e=getCurrentEditor$7())||void 0===e?void 0:e.canExport()}});const dragover_handler=e=>e.preventDefault();function instance$1L(e,t,n){let o,r,i,a,s,c,l,u,d,p,m=noop$3;component_subscribe(e,currentThemeDefinition,(e=>n(59,u=e))),e.$$.on_destroy.push((()=>m()));var h,f,g=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{value:$}=t,{onChange:b}=t,{conid:v}=t,{database:y}=t,{menu:x}=t,{settings:w}=t,{referenceComponent:C}=t;const k=createActivator("Designer",!0);let S,T=3e3,E=3e3,A=null,D=null;const N=writable(null),I=writable(null),R=(null==w?void 0:w.updateFromDbInfo)?useDatabaseInfo({conid:v,database:y}):null;component_subscribe(e,R,(e=>n(54,p=e)));const O={},F={};function M(e){const t=_.min(e.map((e=>e.left))),n=_.min(e.map((e=>e.top)));if(t<0||n<0){const o=t<0?-t:0,r=n<0?-n:0;return e.map((e=>Object.assign(Object.assign({},e),{left:e.left+o,top:e.top+r})))}return e}function L(e="auto"){"auto"==e&&R&&(e=o),(null==w?void 0:w.updateFromDbInfo)&&e&&b((t=>{let n=t.tables||[];for(const o of t.tables||[]){const t=(e.tables||[]).find((e=>e.pureName==o.pureName&&e.schemaName==o.schemaName));jsonStableStringify(_.pick(t,["columns","primaryKey","foreignKeys"]))!=jsonStableStringify(_.pick(o,["columns","primaryKey","foreignKeys"]))&&(n=n.map((e=>e==o?Object.assign(Object.assign({},o),_.pick(t,["columns","primaryKey","foreignKeys"])):e)))}let o=null==t?void 0:t.references;if(null==w?void 0:w.useDatabaseReferences){o=[];for(const e of n)for(const t of e.foreignKeys){const r=n.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));r&&o.push({designerId:v1_1$4(),sourceId:e.designerId,targetId:r.designerId,joinType:"",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))})}}return Object.assign(Object.assign({},t),{tables:n,references:o})}),!0)}function P(e,t){b(e,t),tick().then(U)}const j=(e,t,n)=>{var o;const r=null===(o=e.tables)||void 0===o?void 0:o.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));if(!r)return;const i=[];for(const t of r.foreignKeys||[]){if(![...n.tables,...i].find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName))){const n=e.tables.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));n&&i.push(n)}}for(const t of r.dependencies||[]){if(![...n.tables,...i].find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName))){const n=e.tables.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));n&&i.push(n)}}return Object.assign(Object.assign({},n),{tables:[...n.tables,...i.map((e=>Object.assign(Object.assign({},e),{designerId:`${e.pureName}-${v1_1$4()}`,needsArrange:!0})))]})},B=(e,t)=>{const n=(t||[]).map((e=>e.alias||e.pureName));if(!n.includes(e.pureName))return null;let o=2;for(;n.includes(`${e.pureName}${o}`);)o+=1;return`${e.pureName}${o}`};function q(e){for(const t of _.values(O)){const n=t;(null==n?void 0:n.isSelected())&&e(n)}}function U(){for(const e of Object.values(F))e&&e.recomputePosition()}function W(e=!1,t=!0,n={x:0,y:0}){const o=new GraphDefinition;for(const e of(null==$?void 0:$.tables)||[]){const n=l[e.designerId];if(!n)continue;const r=n.getRect();o.addNode(e.designerId,r.right-r.left,r.bottom-r.top,t||e.needsArrange?null:{x:(r.left+r.right)/2,y:(r.top+r.bottom)/2})}for(const e of null==$?void 0:$.references)o.addEdge(e.sourceId,e.targetId);o.initialize();const r=GraphLayout.createCircle(o,n).springyAlg().solveOverlaps().fixViewBox();P((e=>Object.assign(Object.assign({},e),{tables:((null==e?void 0:e.tables)||[]).map((e=>{const t=r.nodes[e.designerId];return t?Object.assign(Object.assign({},e),{needsArrange:!1,left:t.left,top:t.top}):Object.assign(Object.assign({},e),{needsArrange:!1})}))})),e)}const z=(e,t)=>()=>{P((n=>Object.assign(Object.assign({},n),{style:Object.assign(Object.assign({},null==n?void 0:n.style),{[e]:t})})))};return e.$$set=e=>{"value"in e&&n(0,$=e.value),"onChange"in e&&n(43,b=e.onChange),"conid"in e&&n(1,v=e.conid),"database"in e&&n(2,y=e.database),"menu"in e&&n(44,x=e.menu),"settings"in e&&n(3,w=e.settings),"referenceComponent"in e&&n(4,C=e.referenceComponent)},e.$$.update=()=>{var t;12582912&e.$$.dirty[1]&&n(52,o=p?lib$4.extendDatabaseInfoFromApps(p,d):null),1&e.$$.dirty[0]&&n(7,r=null==$?void 0:$.tables),1&e.$$.dirty[0]&&n(17,i=null==$?void 0:$.references),9&e.$$.dirty[0]|1572864&e.$$.dirty[1]&&n(14,a=(null==w?void 0:w.customizeStyle)&&(null===n(50,h=null==$?void 0:$.style)||void 0===h?void 0:h.zoomKoef)?null===n(51,f=null==$?void 0:$.style)||void 0===f?void 0:f.zoomKoef:1),128&e.$$.dirty[0]&&n(15,c=r.filter((e=>e.isSelectedTable)).length>=2),32&e.$$.dirty[0]&&n(6,l=_.pickBy(_.mapValues(O,(e=>null==e?void 0:e.getDomTable())))),2097152&e.$$.dirty[1]&&o&&L(o),192&e.$$.dirty[0]&&function(e,t){g(this,void 0,void 0,(function*(){yield tick();const e=_.values(t).map((e=>e.getRect())),o=_.max(e.map((e=>e.right))),r=_.max(e.map((e=>e.bottom)));n(9,T=Math.max(3e3,o+50)),n(10,E=Math.max(3e3,r+50))}))}(0,l),1&e.$$.dirty[0]|2097152&e.$$.dirty[1]&&o&&(null==$?void 0:$.autoLayout)&&(t=o,g(void 0,void 0,void 0,(function*(){t&&(P((e=>{for(const n of(null==e?void 0:e.tables)||[])n.autoAddReferences&&(e=j(t,n,e));return Object.assign(Object.assign({},e),{autoLayout:!1,tables:((null==e?void 0:e.tables)||[]).map((e=>Object.assign(Object.assign({},e),{autoAddReferences:!1})))})})),L(),yield tick(),W())})))},n(16,s=useUsedApps()),m(),m=subscribe(s,(e=>n(53,d=e))),[$,v,y,w,C,O,l,r,S,T,E,A,D,F,a,c,s,i,N,I,R,P,e=>{P((t=>Object.assign(Object.assign({},t),{tables:M((t.tables||[]).map((t=>t.designerId==e.designerId?e:t)))})))},e=>{P((t=>Object.assign(Object.assign({},t),{tables:[...(t.tables||[]).filter((t=>t.designerId!=e.designerId)),e]})),!0)},(e,t)=>{P((n=>Object.assign(Object.assign({},n),{tables:(n.tables||[]).map((n=>n.designerId==e.designerId?Object.assign(Object.assign({},n),{isSelectedTable:!0}):Object.assign(Object.assign({},n),{isSelectedTable:!!t&&n.isSelectedTable})))})),!0)},e=>{c&&(null==w?void 0:w.useDatabaseReferences)&&(null==w?void 0:w.canSelectTables)?(P((e=>Object.assign(Object.assign({},e),{tables:(e.tables||[]).filter((e=>!e.isSelectedTable))}))),L()):P((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).filter((t=>t.designerId!=e.designerId)),references:(t.references||[]).filter((t=>t.sourceId!=e.designerId&&t.targetId!=e.designerId)),columns:(t.columns||[]).filter((t=>t.designerId!=e.designerId))})))},e=>{P((t=>Object.assign(Object.assign({},t),{references:(t.references||[]).map((t=>t.designerId==e.designerId?e:t))})))},e=>{P((t=>Object.assign(Object.assign({},t),{references:(t.references||[]).filter((t=>t.designerId!=e.designerId))})))},(e,t)=>{P((n=>{const o=(n.references||[]).find((n=>n.sourceId==e.designerId&&n.targetId==t.designerId||n.sourceId==t.designerId&&n.targetId==e.designerId));return Object.assign(Object.assign({},n),{references:o?n.references.map((n=>n==o?Object.assign(Object.assign({},o),{columns:[...o.columns,o.sourceId==e.designerId?{source:e.columnName,target:t.columnName}:{source:t.columnName,target:e.columnName}]}):n)):[...n.references||[],{designerId:v1_1$4(),sourceId:e.designerId,targetId:t.designerId,joinType:isConnectedByReference(n,e,t,null)?"CROSS JOIN":"INNER JOIN",columns:[{source:e.columnName,target:t.columnName}]}]})}))},(e,t)=>g(void 0,void 0,void 0,(function*(){const n=yield getTableInfo({conid:v,database:y,pureName:t.refTableName,schemaName:t.refSchemaName}),o=`${n.pureName}-${v1_1$4()}`;P((r=>{const i=(r.tables||[]).find((t=>t.designerId==e));if(!i)return r;const a=B(n,r.tables);return a&&!(null==w?void 0:w.allowTableAlias)?r:Object.assign(Object.assign({},r),{tables:[...r.tables||[],Object.assign(Object.assign({},n),{left:i.left+300,top:i.top+50,designerId:o,alias:a})],references:(null==w?void 0:w.allowCreateRefByDrag)?[...r.references||[],{designerId:v1_1$4(),sourceId:i.designerId,targetId:o,joinType:"INNER JOIN",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:r.references})})),L()})),e=>g(void 0,void 0,void 0,(function*(){var t;if(!o)return;const n=o;if(!n)return;P((t=>j(n,e,t))),L(),yield tick();const r=null===(t=l[e.designerId])||void 0===t?void 0:t.getRect();W(!0,!1,r?{x:(r.left+r.right)/2,y:(r.top+r.bottom)/2}:null)})),e=>{showModal(ChooseColorModal,{onChange:e=>{P((t=>Object.assign(Object.assign({},t),{tables:((null==t?void 0:t.tables)||[]).map((t=>t.isSelectedTable?Object.assign(Object.assign({},t),{tableColor:e}):t))})))}})},e=>{P((t=>Object.assign(Object.assign({},t),{columns:(t.columns||[]).find((t=>t.designerId==e.designerId&&t.columnName==e.columnName))?t.columns:[...cleanupDesignColumns(t.columns),_.pick(e,["designerId","columnName"])]})),!0)},(e,t)=>{P((n=>{const o=(n||{}).columns||[],r=o.find((t=>t.designerId==e.designerId&&t.columnName==e.columnName));return r?Object.assign(Object.assign({},n),{columns:o.map((e=>e==r?t(r):e))}):Object.assign(Object.assign({},n),{columns:[...cleanupDesignColumns(o),t(_.pick(e,["designerId","columnName"]))]})}))},e=>{var t=e.dataTransfer.getData("app_object_drag_data");if(e.preventDefault(),!t)return;const n=e.target.getBoundingClientRect();var o=JSON.parse(t);const{objectTypeField:r}=o;"tables"!=r&&"views"!=r||(o.designerId=`${o.pureName}-${v1_1$4()}`,o.left=e.clientX-n.left,o.top=e.clientY-n.top,P((e=>{const t=(null==w?void 0:w.useDatabaseReferences)?[]:_.compact([...(o.foreignKeys||[]).map((t=>{const n=((e||{}).tables||[]).filter((e=>t.refTableName==e.pureName&&t.refSchemaName==e.schemaName));return 1==n.length?Object.assign(Object.assign({},t),{sourceId:o.designerId,targetId:n[0].designerId}):null})),..._.flatten(((e||{}).tables||[]).map((e=>(e.foreignKeys||[]).map((t=>t.refTableName==o.pureName&&t.refSchemaName==o.schemaName?Object.assign(Object.assign({},t),{sourceId:e.designerId,targetId:o.designerId}):null)))))]),n=B(o,null==e?void 0:e.tables);return n&&!(null==w?void 0:w.allowTableAlias)?e:Object.assign(Object.assign({},e),{tables:[...(e||{}).tables||[],Object.assign(Object.assign({},o),{alias:n})],references:1==t.length?[...(e||{}).references||[],{designerId:`${null==e?void 0:e.pureName}-${v1_1$4()}`,sourceId:t[0].sourceId,targetId:t[0].targetId,joinType:"INNER JOIN",columns:t[0].columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:(e||{}).references})})),L())},()=>{q((e=>e.moveStart()))},(e,t)=>{q((n=>n.move(e,t))),tick().then(U)},()=>{const e={};q((t=>{e[t.getDesignerId()]=t.moveEnd()})),P((t=>Object.assign(Object.assign({},t),{tables:((null==t?void 0:t.tables)||[]).map((t=>{const n=e[t.designerId];return n?Object.assign(Object.assign({},t),{left:n.left,top:n.top}):t}))}))),tick().then(U)},(e,t)=>{n(11,A={x:e/a,y:t/a})},(e,t,o,r)=>{n(12,D={x:o/a,y:r/a})},(e,t)=>{if(A&&D){const e={left:Math.min(A.x,D.x),right:Math.max(A.x,D.x),top:Math.min(A.y,D.y),bottom:Math.max(A.y,D.y)};P((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).map((t=>{const n=l[t.designerId].getRect();return Object.assign(Object.assign({},t),{isSelectedTable:rectanglesHaveIntersection(n,e)})}))})),!0)}n(11,A=null),n(12,D=null)},U,function(){var e,t,n,o,r,i;return[x,(null==w?void 0:w.customizeStyle)&&[{divider:!0},{text:"Column properties",submenu:[{text:"Nullability: "+((null===(e=null==$?void 0:$.style)||void 0===e?void 0:e.showNullability)?"YES":"NO"),onClick:z("showNullability",!(null===(t=null==$?void 0:$.style)||void 0===t?void 0:t.showNullability))},{text:"Data type: "+((null===(n=null==$?void 0:$.style)||void 0===n?void 0:n.showDataType)?"YES":"NO"),onClick:z("showDataType",!(null===(o=null==$?void 0:$.style)||void 0===o?void 0:o.showDataType))}]},{text:`Columns - ${_.startCase((null===(r=null==$?void 0:$.style)||void 0===r?void 0:r.filterColumns)||"all")}`,submenu:[{text:"All",onClick:z("filterColumns",null)},{text:"Primary Key",onClick:z("filterColumns","primaryKey")},{text:"All Keys",onClick:z("filterColumns","allKeys")},{text:"Not Null",onClick:z("filterColumns","notNull")},{text:"Keys And Not Null",onClick:z("filterColumns","keysAndNotNull")}]},{text:`Zoom - ${100*((null===(i=null==$?void 0:$.style)||void 0===i?void 0:i.zoomKoef)||1)}%`,submenu:[{text:"10 %",onClick:z("zoomKoef",.1)},{text:"15 %",onClick:z("zoomKoef",.15)},{text:"20 %",onClick:z("zoomKoef",.2)},{text:"40 %",onClick:z("zoomKoef",.4)},{text:"60 %",onClick:z("zoomKoef",.6)},{text:"80 %",onClick:z("zoomKoef",.8)},{text:"100 %",onClick:z("zoomKoef",1)}]}]]},b,x,k,function(){return null==w?void 0:w.canArrange},function(){return null==w?void 0:w.canExport},W,function(){return g(this,void 0,void 0,(function*(){const e=["global.css","build/bundle.css"];let t="";for(const n of e){const e=yield fetch(n),o=yield e.text();t&&(t+="\n"),t+=o}(null==u?void 0:u.themeCss)&&(t&&(t+="\n"),t+=null==u?void 0:u.themeCss),saveFileToDisk((e=>g(this,void 0,void 0,(function*(){yield apiCall("files/export-diagram",{filePath:e,html:S.outerHTML,css:t,themeType:null==u?void 0:u.themeType,themeClassName:null==u?void 0:u.themeClassName})}))))}))},h,f,o,d,p,function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{F[t.designerId]=e,n(13,F)}))},function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{O[t.designerId]=e,n(5,O)}))},function(e){binding_callbacks[e?"unshift":"push"]((()=>{S=e,n(8,S)}))},e=>{0==e.button&&w?.canSelectTables&&P((e=>({...e,tables:(e.tables||[]).map((e=>({...e,isSelectedTable:!1})))})),!0)}]}class Designer extends SvelteComponent{constructor(e){super(),init(this,e,instance$1L,create_fragment$1N,safe_not_equal,{value:0,onChange:43,conid:1,database:2,menu:44,settings:3,referenceComponent:4,activator:45,canArrange:46,canExport:47,arrange:48,exportDiagram:49},null,[-1,-1,-1])}get activator(){return this.$$.ctx[45]}get canArrange(){return this.$$.ctx[46]}get canExport(){return this.$$.ctx[47]}get arrange(){return this.$$.ctx[48]}get exportDiagram(){return this.$$.ctx[49]}}function get_each_context$i(e,t,n){const o=e.slice();return o[12]=t[n],o}function create_if_block$M(e){let t,n,o,r,i,a,s,c,l,u,d,p=_.snakeCase(e[0]?.joinType||"CROSS JOIN").replace("_"," ").replace("_"," ")+"",m=e[4],h=[];for(let t=0;t<m.length;t+=1)h[t]=create_each_block$i(get_each_context$i(e,m,t));return{c(){t=svg_element("svg"),n=svg_element("polyline");for(let e=0;e<h.length;e+=1)h[e].c();r=space(),i=element("div"),a=element("div"),s=text$1(p),attr(n,"points",o=`\n ${e[1].x},${e[1].y}\n ${e[1].x+extwi*e[3].dirsrc},${e[1].y}\n ${e[2].x+extwi*e[3].dirdst},${e[2].y}\n ${e[2].x},${e[2].y}\n `),attr(n,"class","svelte-1k22hy3"),attr(t,"class","svelte-1k22hy3"),attr(a,"class","text svelte-1k22hy3"),attr(i,"class","wrapper svelte-1k22hy3"),attr(i,"style",c=`left: ${(e[1].x+extwi*e[3].dirsrc+e[2].x+extwi*e[3].dirdst)/2-16}px;\n top: ${(e[1].y+e[2].y)/2-16}px`)},m(o,c){insert(o,t,c),append(t,n);for(let e=0;e<h.length;e+=1)h[e].m(t,null);insert(o,r,c),insert(o,i,c),append(i,a),append(a,s),u||(d=action_destroyer(l=contextMenu.call(null,i,e[5])),u=!0)},p(e,r){if(14&r&&o!==(o=`\n ${e[1].x},${e[1].y}\n ${e[1].x+extwi*e[3].dirsrc},${e[1].y}\n ${e[2].x+extwi*e[3].dirdst},${e[2].y}\n ${e[2].x},${e[2].y}\n `)&&attr(n,"points",o),30&r){let n;for(m=e[4],n=0;n<m.length;n+=1){const o=get_each_context$i(e,m,n);h[n]?h[n].p(o,r):(h[n]=create_each_block$i(o),h[n].c(),h[n].m(t,null))}for(;n<h.length;n+=1)h[n].d(1);h.length=m.length}1&r&&p!==(p=_.snakeCase(e[0]?.joinType||"CROSS JOIN").replace("_"," ").replace("_"," ")+"")&&set_data(s,p),14&r&&c!==(c=`left: ${(e[1].x+extwi*e[3].dirsrc+e[2].x+extwi*e[3].dirdst)/2-16}px;\n top: ${(e[1].y+e[2].y)/2-16}px`)&&attr(i,"style",c)},d(e){e&&detach(t),destroy_each(h,e),e&&detach(r),e&&detach(i),u=!1,d()}}}function create_each_block$i(e){let t,n,o,r;return{c(){t=svg_element("polyline"),o=svg_element("polyline"),attr(t,"points",n=`\n ${e[1].x},${e[1].y}\n ${e[1].x},${e[12][0]}\n ${e[1].x-buswi*e[3].dirsrc},${e[12][0]}\n`),attr(t,"class","svelte-1k22hy3"),attr(o,"points",r=`\n ${e[2].x},${e[2].y}\n ${e[2].x},${e[12][1]}\n ${e[2].x-buswi*e[3].dirdst},${e[12][1]}\n`),attr(o,"class","svelte-1k22hy3")},m(e,n){insert(e,t,n),insert(e,o,n)},p(e,i){26&i&&n!==(n=`\n ${e[1].x},${e[1].y}\n ${e[1].x},${e[12][0]}\n ${e[1].x-buswi*e[3].dirsrc},${e[12][0]}\n`)&&attr(t,"points",n),28&i&&r!==(r=`\n ${e[2].x},${e[2].y}\n ${e[2].x},${e[12][1]}\n ${e[2].x-buswi*e[3].dirdst},${e[12][1]}\n`)&&attr(o,"points",r)},d(e){e&&detach(t),e&&detach(o)}}}function create_fragment$1M(e){let t,n=e[1]&&e[2]&&e[3]&&create_if_block$M(e);return{c(){n&&n.c(),t=empty()},m(e,o){n&&n.m(e,o),insert(e,t,o)},p(e,[o]){e[1]&&e[2]&&e[3]?n?n.p(e,o):(n=create_if_block$M(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:noop$3,o:noop$3,d(e){n&&n.d(e),e&&detach(t)}}}const buswi=10,extwi=25;function instance$1K(e,t,n){let o,{reference:r}=t,{onRemoveReference:i}=t,{onChangeReference:a}=t,{designer:s}=t,{domTables:c}=t,{settings:l}=t,u=null,d=null,p=[];function m(){const{designerId:e,sourceId:t,targetId:i,columns:a,joinType:s}=r,l=c[t],m=c[i];if(!l||!m)return null;const h=l.getRect(),f=m.getRect();if(!h||!f)return null;const g=[];g.push({xsrc:h.left-buswi,dirsrc:-1,xdst:f.left-buswi,dirdst:-1}),g.push({xsrc:h.left-buswi,dirsrc:-1,xdst:f.right+buswi,dirdst:1}),g.push({xsrc:h.right+buswi,dirsrc:1,xdst:f.left-buswi,dirdst:-1}),g.push({xsrc:h.right+buswi,dirsrc:1,xdst:f.right+buswi,dirdst:1}),n(3,o=_.minBy(g,(e=>Math.abs(e.xsrc-e.xdst))));let $=_.mean(a.map((e=>l.getColumnY(e.source)))),b=_.mean(a.map((e=>m.getColumnY(e.target))));0==a.length&&($=l.getColumnY(""),b=m.getColumnY("")),n(1,u={x:o.xsrc,y:$}),n(2,d={x:o.xdst,y:b}),n(4,p=a.map(((e,t)=>[l.getColumnY(e.source),m.getColumnY(e.target)])))}return e.$$set=e=>{"reference"in e&&n(0,r=e.reference),"onRemoveReference"in e&&n(6,i=e.onRemoveReference),"onChangeReference"in e&&n(7,a=e.onChangeReference),"designer"in e&&n(8,s=e.designer),"domTables"in e&&n(9,c=e.domTables),"settings"in e&&n(10,l=e.settings)},e.$$.update=()=>{512&e.$$.dirty&&m()},[r,u,d,o,p,function(){const e=isConnectedByReference(s,{designerId:null==r?void 0:r.sourceId},{designerId:null==r?void 0:r.targetId},r),t=e=>{a(Object.assign(Object.assign({},r),{joinType:e}))};return[{text:"Remove",onClick:()=>i(r)},!e&&[{divider:!0},{onClick:()=>t("INNER JOIN"),text:"Set INNER JOIN"},{onClick:()=>t("LEFT JOIN"),text:"Set LEFT JOIN"},{onClick:()=>t("RIGHT JOIN"),text:"Set RIGHT JOIN"},{onClick:()=>t("FULL OUTER JOIN"),text:"Set FULL OUTER JOIN"},{onClick:()=>t("CROSS JOIN"),text:"Set CROSS JOIN"},{onClick:()=>t("WHERE EXISTS"),text:"Set WHERE EXISTS"},{onClick:()=>t("WHERE NOT EXISTS"),text:"Set WHERE NOT EXISTS"}]]},i,a,s,c,l,m]}class QueryDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1K,create_fragment$1M,safe_not_equal,{reference:0,onRemoveReference:6,onChangeReference:7,designer:8,domTables:9,settings:10,recomputePosition:11})}get recomputePosition(){return this.$$.ctx[11]}}function create_fragment$1L(e){let t,n;const o=[e[0],{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowTableAlias:!0,updateFromDbInfo:!1,useDatabaseReferences:!1,allowScrollColumns:!0,allowAddAllReferences:!1,canArrange:!1,canExport:!1,canSelectColumns:!0,canSelectTables:!1,allowChangeColor:!1,appendTableSystemMenu:!1,customizeStyle:!1,allowDefineVirtualReferences:!1}},{referenceComponent:QueryDesignerReference}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),o[1],0&n&&{referenceComponent:QueryDesignerReference}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1J(e,t,n){return e.$$set=e=>{n(0,t=assign(assign({},t),exclude_internal_props(e)))},[t=exclude_internal_props(t)]}class QueryDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1J,create_fragment$1L,safe_not_equal,{})}}function create__0_slot$2(e){let t,n;return t=new CheckboxField({props:{checked:e[16].isOutput}}),t.$on("change",(function(...t){return e[14](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.checked=e[16].isOutput),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$6(e){let t,n;return t=new TextField({props:{value:e[16].alias}}),t.$on("input",(function(...t){return e[13](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.value=e[16].alias),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$6(e){let t,n;return t=new CheckboxField({props:{checked:e[16].isGrouped}}),t.$on("change",(function(...t){return e[12](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.checked=e[16].isGrouped),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$L(e){let t,n;return t=new SelectField({props:{isNative:!0,value:e[16].aggregate,options:["---","MIN","MAX","COUNT","COUNT DISTINCT","SUM","AVG"].map(func_2$5)}}),t.$on("change",(function(...t){return e[11](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.value=e[16].aggregate),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot$1(e){let t,n,o=!e[16].isGrouped&&create_if_block$L(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[16].isGrouped?o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros()):o?(o.p(e,n),65536&n&&transition_in(o,1)):(o=create_if_block$L(e),o.c(),transition_in(o,1),o.m(t.parentNode,t))},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create__4_slot(e){let t,n;return t=new SelectField({props:{isNative:!0,value:e[16].sortOrder,options:[{label:"---",value:"0"},{label:"1st, ascending",value:"1"},{label:"1st, descending",value:"-1"},{label:"2nd, ascending",value:"2"},{label:"2nd, descending",value:"-2"},{label:"3rd, ascending",value:"3"},{label:"3rd, descending",value:"-3"}]}}),t.$on("change",(function(...t){return e[10](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.value=e[16].sortOrder),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__5_slot(e){let t,n;return t=new DataFilterControl({props:{filterType:findDesignerFilterType(e[16],e[0]),filter:e[16].filter,setFilter:function(...t){return e[9](e[16],...t)}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65537&o&&(r.filterType=findDesignerFilterType(e[16],e[0])),65536&o&&(r.filter=e[16].filter),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__6_slot(e){let t,n;return t=new DataFilterControl({props:{filterType:findDesignerFilterType(e[16],e[0]),filter:e[16].groupFilter,setFilter:function(...t){return e[8](e[16],...t)}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65537&o&&(r.filterType=findDesignerFilterType(e[16],e[0])),65536&o&&(r.filter=e[16].groupFilter),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$I(e){let t;return{c(){t=text$1("Remove")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create__7_slot(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot$I]},$$scope:{ctx:e}}}),t.$on("click",(function(){return e[7](e[16])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};131072&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1K(e){let t,n,o;return n=new TableControl({props:{rows:e[1]||[],columns:[{fieldName:"columnName",header:"Column/Expression"},{fieldName:"tableDisplayName",header:"Table",formatter:e[15]},{fieldName:"isOutput",header:"Output",slot:0},{fieldName:"alias",header:"Alias",slot:1},{fieldName:"isGrouped",header:"Group by",slot:2},{fieldName:"aggregate",header:"Aggregate",slot:3},{fieldName:"sortOrder",header:"Sort order",slot:4},{fieldName:"filter",header:"Filter",slot:5},e[2]&&{fieldName:"groupFilter",header:"Group filter",slot:6},{fieldName:"actions",header:"",slot:7}],$$slots:{7:[create__7_slot,({row:e})=>({16:e}),({row:e})=>e?65536:0],6:[create__6_slot,({row:e})=>({16:e}),({row:e})=>e?65536:0],5:[create__5_slot,({row:e})=>({16:e}),({row:e})=>e?65536:0],4:[create__4_slot,({row:e})=>({16:e}),({row:e})=>e?65536:0],3:[create__3_slot$1,({row:e})=>({16:e}),({row:e})=>e?65536:0],2:[create__2_slot$6,({row:e})=>({16:e}),({row:e})=>e?65536:0],1:[create__1_slot$6,({row:e})=>({16:e}),({row:e})=>e?65536:0],0:[create__0_slot$2,({row:e})=>({16:e}),({row:e})=>e?65536:0]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-ch62af")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,[t]){const o={};2&t&&(o.rows=e[1]||[]),12&t&&(o.columns=[{fieldName:"columnName",header:"Column/Expression"},{fieldName:"tableDisplayName",header:"Table",formatter:e[15]},{fieldName:"isOutput",header:"Output",slot:0},{fieldName:"alias",header:"Alias",slot:1},{fieldName:"isGrouped",header:"Group by",slot:2},{fieldName:"aggregate",header:"Aggregate",slot:3},{fieldName:"sortOrder",header:"Sort order",slot:4},{fieldName:"filter",header:"Filter",slot:5},e[2]&&{fieldName:"groupFilter",header:"Group filter",slot:6},{fieldName:"actions",header:"",slot:7}]),196609&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function getTableDisplayName(e,t){const n=(t||[]).find((t=>t.designerId==e.designerId));return n?n.alias||n.pureName:""}const func_2$5=e=>({label:e,value:e});function instance$1I(e,t,n){let o,r,i,{value:a}=t,{onChange:s}=t;const c=e=>{s((t=>({...t,columns:(t.columns||[]).map((t=>t.designerId==e.designerId&&t.columnName==e.columnName?e:t))})))},l=e=>{s((t=>({...t,columns:(t.columns||[]).filter((t=>t.designerId!=e.designerId||t.columnName!=e.columnName))})))};return e.$$set=e=>{"value"in e&&n(0,a=e.value),"onChange"in e&&n(6,s=e.onChange)},e.$$.update=()=>{1&e.$$.dirty&&n(1,o=a?.columns),1&e.$$.dirty&&n(3,r=a?.tables),2&e.$$.dirty&&n(2,i=!!(o||[]).find((e=>e.isGrouped)))},[a,o,i,r,c,l,s,e=>l(e),(e,t)=>{c({...e,groupFilter:t})},(e,t)=>{c({...e,filter:t})},(e,t)=>{c({...e,sortOrder:parseInt(t.detail)})},(e,t)=>{c({...e,aggregate:t.detail})},(e,t)=>{t.target.checked?c({...e,isGrouped:!0}):c({...e,isGrouped:!1})},(e,t)=>{c({...e,alias:t.target.value})},(e,t)=>{t.target.checked?c({...e,isOutput:!0}):c({...e,isOutput:!1})},e=>getTableDisplayName(e,r)]}class QueryDesignColumns extends SvelteComponent{constructor(e){super(),init(this,e,instance$1I,create_fragment$1K,safe_not_equal,{value:0,onChange:6})}}function create__1_slot$5(e){let t,n;return t=new QueryDesigner({props:{value:e[3].value||{},conid:e[0],database:e[1],engine:e[4]&&e[4].engine,onChange:e[10],menu:e[13]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n[0]&&(o.value=e[3].value||{}),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),16&n[0]&&(o.engine=e[4]&&e[4].engine),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__0_slot$1(e){let t,n;return t=new SocketMessageView({props:{eventName:e[2]?`session-info-${e[2]}`:null,executeNumber:e[5],showProcedure:!0,showLine:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n[0]&&(o.eventName=e[2]?`session-info-${e[2]}`:null),32&n[0]&&(o.executeNumber=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$5(e){let t,n;return t=new ResultTabs({props:{tabs:[{label:"Columns",component:QueryDesignColumns,props:{value:e[3].value||{},onChange:e[10]}},{label:"SQL",component:SqlEditor,props:{engine:e[4]&&e[4].engine,readOnly:!0,value:e[7]}},e[6]&&{label:"Messages",slot:0}],sessionId:e[2],executeNumber:e[5],$$slots:{0:[create__0_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};216&n[0]&&(o.tabs=[{label:"Columns",component:QueryDesignColumns,props:{value:e[3].value||{},onChange:e[10]}},{label:"SQL",component:SqlEditor,props:{engine:e[4]&&e[4].engine,readOnly:!0,value:e[7]}},e[6]&&{label:"Messages",slot:0}]),4&n[0]&&(o.sessionId=e[2]),32&n[0]&&(o.executeNumber=e[5]),36&n[0]|2048&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$H(e){let t,n;return t=new VerticalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$5],1:[create__1_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};255&n[0]|2048&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$5(e){let t,n,o,r,i,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.execute"}}),o=new ToolStripCommandButton({props:{command:"designer.kill"}}),i=new ToolStripCommandButton({props:{command:"designer.openSql"}}),s=new ToolStripSaveButton({props:{idPrefix:"designer"}}),l=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[14],label:"Export result"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,d){mount_component(t,e,d),insert(e,n,d),mount_component(o,e,d),insert(e,r,d),mount_component(i,e,d),insert(e,a,d),mount_component(s,e,d),insert(e,c,d),mount_component(l,e,d),u=!0},p:noop$3,i(e){u||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1J(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$5],default:[create_default_slot$H]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};255&n[0]|2048&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$6=()=>getActiveComponent("QueryDesignTab");function instance$1H(e,t,n){let o,r,i,a,s,c,l,u,d=noop$3,p=noop$3;component_subscribe(e,extensions,(e=>n(32,l=e))),e.$$.on_destroy.push((()=>d())),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:h}=t,{conid:f}=t,{database:g}=t,{initialArgs:$}=t;const b=useTimerLabel();let v=!1,y=0,x=!1,w=null,C="";const k=createActivator("QueryDesignTab",!0);const S=()=>{n(29,v=!1),b.stop()},T=(e,t)=>I({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),{editorState:E,editorValue:A,setEditorData:D}=useEditorData({tabid:h,onInitialData:e=>{I({type:"reset",value:e})}});component_subscribe(e,E,(e=>n(33,a=e)));const[N,I]=createUndoReducer({tables:[],references:[],columns:[]});component_subscribe(e,N,(e=>n(3,s=e)));const R=createQuickExportHandlerRef();return e.$$set=e=>{"tabid"in e&&n(15,h=e.tabid),"conid"in e&&n(0,f=e.conid),"database"in e&&n(1,g=e.database),"initialArgs"in e&&n(16,$=e.initialArgs)},e.$$.update=()=>{1&e.$$.dirty[0]&&(n(9,o=useConnectionInfo({conid:f})),p(),p=subscribe(o,(e=>n(4,u=e)))),16&e.$$.dirty[0]|2&e.$$.dirty[1]&&n(30,r=lib$4.findEngineDriver(u,l)),4&e.$$.dirty[0]&&(n(8,i=useEffect((()=>{return(e=w)?(apiOn(`session-done-${e}`,S),()=>{apiOff(`session-done-${e}`,S)}):()=>{};var e}))),d(),d=subscribe(i,(e=>n(31,c=e)))),e.$$.dirty[1],536903680&e.$$.dirty[0]&&changeTab(h,(e=>Object.assign(Object.assign({},e),{busy:v}))),536870924&e.$$.dirty[0]&&invalidateCommands(),8&e.$$.dirty[0]&&D(s.value),1073741832&e.$$.dirty[0]&&((e,t)=>{if(!t||!e)return;const o=generateDesignedQuery(e,t);n(7,C=sqlFormatter.format(o))})(s.value,r)},[f,g,w,s,u,y,x,C,i,o,T,E,N,function(){var e,t;return[{command:"designer.execute"},{command:"designer.kill"},{command:"designer.openSql"},{divider:!0},{command:"designer.save"},{command:"designer.saveAs"},{divider:!0},{command:"designer.undo"},{command:"designer.redo"},{divider:!0},{text:"Remove duplicates: "+((null===(t=null===(e=a.value)||void 0===e?void 0:e.settings)||void 0===t?void 0:t.isDistinct)?"YES":"NO"),onClick:()=>{var e,t,n;T(Object.assign(Object.assign({},a.value),{settings:Object.assign(Object.assign({},null===(e=a.value)||void 0===e?void 0:e.settings),{isDistinct:!(null===(n=null===(t=a.value)||void 0===t?void 0:t.settings)||void 0===n?void 0:n.isDistinct)})}),!1)}}]},R,h,$,k,function(){return!!w},function(){return v},function(){return h},function(){return m(this,void 0,void 0,(function*(){if(v)return;n(5,y++,y),n(6,x=!0);let e=w;if(!e){e=(yield apiCall("sessions/create",{conid:f,database:g})).sesid,n(2,w=e)}n(29,v=!0),b.start(),yield apiCall("sessions/execute-query",{sesid:e,sql:C})}))},function(){return m(this,void 0,void 0,(function*(){yield apiCall("sessions/kill",{sesid:w}),n(2,w=null),n(29,v=!1),b.stop()}))},function(){return a.value||""},function(){return s.canUndo},function(){I({type:"undo"})},function(){return s.canRedo},function(){I({type:"redo"})},function(){newQuery({initialData:C})},v,r,c,l]}registerCommand({id:"designer.openSql",category:"Designer",icon:"icon sql-file",name:"Open SQL",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>null!=getCurrentEditor$6(),onClick:()=>getCurrentEditor$6().openSql()}),registerFileCommands({idPrefix:"designer",category:"Designer",getCurrentEditor:getCurrentEditor$6,folder:"query",format:"json",fileExtension:"qdesign",execute:!0,undoRedo:!0});class QueryDesignTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1H,create_fragment$1J,safe_not_equal,{tabid:15,conid:0,database:1,initialArgs:16,activator:17,canKill:18,isBusy:19,getTabId:20,execute:21,kill:22,getData:23,canUndo:24,undo:25,canRedo:26,redo:27,openSql:28},null,[-1,-1])}get activator(){return this.$$.ctx[17]}get canKill(){return this.$$.ctx[18]}get isBusy(){return this.$$.ctx[19]}get getTabId(){return this.$$.ctx[20]}get execute(){return this.$$.ctx[21]}get kill(){return this.$$.ctx[22]}get getData(){return this.$$.ctx[23]}get canUndo(){return this.$$.ctx[24]}get undo(){return this.$$.ctx[25]}get canRedo(){return this.$$.ctx[26]}get redo(){return this.$$.ctx[27]}get openSql(){return this.$$.ctx[28]}}var QueryDesignTab$1=Object.freeze({__proto__:null,default:QueryDesignTab});function create_default_slot$G(e){let t,n,o,r,i,a;function s(t){e[4](t)}let c={focused:!0};return void 0!==e[0]&&(c.value=e[0]),r=new TextField({props:c}),binding_callbacks.push((()=>bind(r,"value",s))),r.$on("keydown",e[1]),{c(){t=element("div"),t.textContent="Show desired key combination and press ENTER",n=space(),o=element("div"),create_component(r.$$.fragment),attr(t,"class","mb-2"),attr(o,"class","largeFormMarker")},m(e,i){insert(e,t,i),insert(e,n,i),insert(e,o,i),mount_component(r,o,null),a=!0},p(e,t){const n={};!i&&1&t&&(i=!0,n.value=e[0],add_flush_callback((()=>i=!1))),r.$set(n)},i(e){a||(transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(r)}}}function create_fragment$1I(e){let t,n;const o=[e[2],{simple:!0}];let r={$$slots:{default:[create_default_slot$G]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=4&n?get_spread_update(o,[get_spread_object(e[2]),o[1]]):{};33&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1G(e,t,n){const o=["onChange"];let r,i=compute_rest_props(t,o),{onChange:a}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,i=compute_rest_props(t,o)),"onChange"in e&&n(3,a=e.onChange)},[r,function(e){if(e.preventDefault(),e.stopPropagation(),e.keyCode==keycodes.escape)return void closeCurrentModal();if(e.keyCode==keycodes.enter&&r)return a(r),void closeCurrentModal();let t="";e.ctrlKey&&(t+="Ctrl+"),e.shiftKey&&(t+="Shift+"),e.metaKey&&(t+="Command+"),e.altKey&&(t+="Alt+"),"Control"!=e.key&&"Alt"!=e.key&&"Shift"!=e.key&&"Meta"!=e.key&&(t+=_.upperFirst(e.key)),n(0,r=t)},i,a,function(e){r=e,n(0,r)}]}class KeyboardModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1G,create_fragment$1I,safe_not_equal,{onChange:3})}}function create_default_slot_1$p(e){let t,n,o,r,i,a,s,c,l;return t=new FormTextField({props:{label:"Category",name:"category",disabled:!0}}),o=new FormTextField({props:{label:"Name",name:"name",disabled:!0}}),a=new FormTextField({props:{label:"Keyboard shortcut",name:"keyText",templateProps:{noMargin:!0},focused:!0}}),c=new FormStyledButton({props:{type:"button",value:"Keyboard"}}),c.$on("click",e[3]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(i,"class","row svelte-1h6n7am")},m(e,u){mount_component(t,e,u),insert(e,n,u),mount_component(o,e,u),insert(e,r,u),insert(e,i,u),mount_component(a,i,null),append(i,s),mount_component(c,i,null),l=!0},p:noop$3,i(e){l||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),e&&detach(i),destroy_component(a),destroy_component(c)}}}function create_header_slot$7(e){let t;return{c(){t=text$1("Configure commmand")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$6(e){let t,n,o,r,i,a;return t=new FormSubmit({props:{value:"OK"}}),t.$on("click",e[5]),o=new FormStyledButton({props:{type:"button",value:"Reset"}}),o.$on("click",e[6]),i=new FormStyledButton({props:{type:"button",value:"Close"}}),i.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_default_slot$F(e){let t,n;const o=[e[4]];let r={$$slots:{footer:[create_footer_slot$6],header:[create_header_slot$7],default:[create_default_slot_1$p]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};131&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1H(e){let t,n;return t=new FormProviderCore({props:{values:e[2],$$slots:{default:[create_default_slot$F]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};147&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1F(e,t,n){const o=["command"];let r,i=compute_rest_props(t,o);component_subscribe(e,commandsSettings,(e=>n(1,r=e)));let{command:a}=t,s=writable(a);return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,o)),"command"in e&&n(0,a=e.command)},[a,r,s,function(){showModal(KeyboardModal,{onChange:e=>s.update((t=>Object.assign(Object.assign({},t),{keyText:e})))})},i,e=>{closeCurrentModal(),apiCall("config/update-settings",{commands:{...r,[a.id]:{keyText:e.detail.keyText,customKeyboardShortcut:!0}}})},()=>{closeCurrentModal(),apiCall("config/update-settings",{commands:_.omit(r,[a.id])})}]}class CommandModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1F,create_fragment$1H,safe_not_equal,{command:0})}}function create_fragment$1G(e){let t,n,o,r,i,a,s,c,l,u,d;function p(t){e[3](t)}let m={placeholder:"Search in commands (by category, name, shortcut or id)"};function h(t){e[4](t)}void 0!==e[0]&&(m.value=e[0]),o=new SearchInput({props:m}),binding_callbacks.push((()=>bind(o,"value",p)));let f={showDisabled:!0};return void 0!==e[0]&&(f.filter=e[0]),a=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind(a,"filter",h))),u=new TableControl({props:{clickable:!0,rows:e[1].filter(e[5]),columns:[{header:"Category",fieldName:"category"},{header:"Name",fieldName:"name"},{header:"Keyboard shortcut",fieldName:"keyText",isHighlighted:func_1$6},{header:"commandId",fieldName:"id"}]}}),u.$on("clickrow",e[6]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),create_component(a.$$.fragment),c=space(),l=element("div"),create_component(u.$$.fragment),attr(n,"class","flex"),attr(l,"class","table-wrapper svelte-1d8o0gh"),attr(t,"class","wrapper svelte-1d8o0gh")},m(e,r){insert(e,t,r),append(t,n),mount_component(o,n,null),append(n,i),mount_component(a,n,null),append(t,c),append(t,l),mount_component(u,l,null),d=!0},p(e,[t]){const n={};!r&&1&t&&(r=!0,n.value=e[0],add_flush_callback((()=>r=!1))),o.$set(n);const i={};!s&&1&t&&(s=!0,i.filter=e[0],add_flush_callback((()=>s=!1))),a.$set(i);const c={};3&t&&(c.rows=e[1].filter(e[5])),u.$set(c)},i(e){d||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(u.$$.fragment,e),d=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(u.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(u)}}}const matchingProps$4=[],func_1$6=e=>e.customKeyboardShortcut;function instance$1E(e,t,n){let o,r,i;component_subscribe(e,commandsCustomized,(e=>n(2,r=e)));return e.$$.update=()=>{4&e.$$.dirty&&n(1,o=_.sortBy(_.values(r),["category","name"]))},[i,o,r,function(e){i=e,n(0,i)},function(e){i=e,n(0,i)},e=>lib$4.filterName(i,e.category,e.name,e.keyText,e.id),e=>showModal(CommandModal,{command:e.detail})]}class CommandListTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1E,create_fragment$1G,safe_not_equal,{})}}var CommandListTab$1=Object.freeze({__proto__:null,default:CommandListTab,matchingProps:matchingProps$4});function create_fragment$1F(e){let t,n,o={value:e[2].value||"",menu:createMenu$3(),mode:"yaml"};return t=new AceEditor({props:o}),e[14](t),t.$on("input",e[15]),t.$on("focus",e[16]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[14](null),destroy_component(t,n)}}}const getCurrentEditor$5=()=>getActiveComponent("YamlEditorTab");function createMenu$3(){return[{command:"yaml.toggleComment"},{divider:!0},{command:"yaml.save"},{command:"yaml.saveAs"},{divider:!0},{command:"yaml.find"},{command:"yaml.replace"}]}function instance$1D(e,t,n){let o,r;var i;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,r=e)));const c=createActivator("YamlEditorTab",!1);let l;const{editorState:u,editorValue:d,setEditorData:p,saveToStorage:m}=useEditorData({tabid:a});component_subscribe(e,u,(e=>n(2,o=e)));return e.$$set=e=>{"tabid"in e&&n(6,a=e.tabid)},e.$$.update=()=>{12290&e.$$.dirty&&r&&l&&(null===n(12,i=null==l?void 0:l.getEditor())||void 0===i||i.focus())},[c,l,o,s,u,p,a,function(){return o.value||""},function(){l.getEditor().execCommand("togglecomment")},function(){l.getEditor().execCommand("find")},function(){l.getEditor().execCommand("replace")},function(){return a},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>p(e.detail),()=>{c.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"yaml",category:"Yaml",getCurrentEditor:getCurrentEditor$5,folder:"yaml",format:"text",fileExtension:"yaml",toggleComment:!0,findReplace:!0});class YamlEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1D,create_fragment$1F,safe_not_equal,{tabid:6,activator:0,getData:7,toggleComment:8,find:9,replace:10,getTabId:11})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[7]}get toggleComment(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}}var YamlEditorTab$1=Object.freeze({__proto__:null,default:YamlEditorTab});function create_default_slot$E(e){let t,n,o={value:e[2].value||"",menu:createMenu$2(),mode:"json"};return t=new AceEditor({props:o}),e[14](t),t.$on("input",e[15]),t.$on("focus",e[16]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[14](null),destroy_component(t,n)}}}function create_toolstrip_slot$4(e){let t,n;return t=new ToolStripSaveButton({props:{idPrefix:"json"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1E(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$4],default:[create_default_slot$E]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};524294&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$4=()=>getActiveComponent("JsonEditorTab");function createMenu$2(){return[{command:"json.toggleComment"},{divider:!0},{command:"json.save"},{command:"json.saveAs"},{divider:!0},{command:"json.find"},{command:"json.replace"}]}function instance$1C(e,t,n){let o,r;var i;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,r=e)));const c=createActivator("JsonEditorTab",!1);let l;const{editorState:u,editorValue:d,setEditorData:p,saveToStorage:m}=useEditorData({tabid:a});component_subscribe(e,u,(e=>n(2,o=e)));return e.$$set=e=>{"tabid"in e&&n(6,a=e.tabid)},e.$$.update=()=>{12290&e.$$.dirty&&r&&l&&(null===n(12,i=null==l?void 0:l.getEditor())||void 0===i||i.focus())},[c,l,o,s,u,p,a,function(){return o.value||""},function(){l.getEditor().execCommand("togglecomment")},function(){l.getEditor().execCommand("find")},function(){l.getEditor().execCommand("replace")},function(){return a},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>p(e.detail),()=>{c.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"json",category:"Json",getCurrentEditor:getCurrentEditor$4,folder:"yaml",format:"text",fileExtension:"json",toggleComment:!0,findReplace:!0});class JsonEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1C,create_fragment$1E,safe_not_equal,{tabid:6,activator:0,getData:7,toggleComment:8,find:9,replace:10,getTabId:11})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[7]}get toggleComment(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}}var JsonEditorTab$1=Object.freeze({__proto__:null,default:JsonEditorTab});function create__1_slot$4(e){let t,n,o={value:e[3].value||"",menu:createMenu$1(),mode:"json"};return t=new AceEditor({props:o}),e[21](t),t.$on("input",e[22]),t.$on("focus",e[23]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.value=e[3].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[21](null),destroy_component(t,n)}}}function create_if_block$K(e){let t,n,o=e[2],r=create_key_block(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){4&n&&safe_not_equal(o,o=e[2])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block(e),r.c(),transition_in(r),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_key_block(e){let t,n;return t=new JslDataGrid({props:{jslid:e[2],supportsReload:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.jslid=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$4(e){let t,n,o=e[2]&&create_if_block$K(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[2]?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$K(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_default_slot$D(e){let t,n;return t=new VerticalSplitter({props:{isSplitter:e[2],$$slots:{2:[create__2_slot$4],1:[create__1_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.isSplitter=e[2]),268435470&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$3(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"jsonl.save"}}),o=new ToolStripCommandSplitButton({props:{commands:["jsonl.preview","jsonl.previewNewTab"]}}),i=new ToolStripCommandButton({props:{command:"jsonl.closePreview"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1D(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$3],default:[create_default_slot$D]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};268435470&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$3=()=>getActiveComponent("JsonLinesEditorTab");function createMenu$1(){return[{command:"jsonl.save"},{command:"jsonl.preview"},{divider:!0},{command:"jsonl.find"},{command:"jsonl.replace"}]}function instance$1B(e,t,n){let o,r;var i,a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:s}=t,{archiveFolder:c}=t,{archiveFile:l}=t,u=null;const d=getContext("tabVisible");component_subscribe(e,d,(e=>n(20,r=e)));const p=createActivator("JsonLinesEditorTab",!1);let m;const h=(e,t)=>a(void 0,void 0,void 0,(function*(){yield apiCall("archive/save-text",{folder:e,file:t,text:o.value||""}),changeTab(s,(n=>Object.assign(Object.assign({},n),{title:t,props:{archiveFile:t,archiveFolder:e},archiveFile:t,archiveFolder:e}))),n(8,l=t),n(7,c=e)})),{editorState:f,editorValue:g,setEditorData:_,saveToStorage:$}=useEditorData({tabid:s});component_subscribe(e,f,(e=>n(3,o=e)));return e.$$set=e=>{"tabid"in e&&n(9,s=e.tabid),"archiveFolder"in e&&n(7,c=e.archiveFolder),"archiveFile"in e&&n(8,l=e.archiveFile)},e.$$.update=()=>{1572866&e.$$.dirty&&r&&m&&(null===n(19,i=null==m?void 0:m.getEditor())||void 0===i||i.focus())},[p,m,u,o,d,f,_,c,l,s,function(){return o.value||""},function(){m.getEditor().execCommand("find")},function(){m.getEditor().execCommand("replace")},function(){return s},function(){return!!u},function(){n(2,u=null)},function(){showModal(SaveArchiveModal,{folder:c,file:l,onSave:h})},function(){return a(this,void 0,void 0,(function*(){const e=v1_1$4();yield apiCall("jsldata/save-text",{jslid:e,text:o.value||""}),openNewTab({title:"Preview #",icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:e}},void 0,{forceNewTab:!0})}))},function(){return a(this,void 0,void 0,(function*(){n(2,u=v1_1$4()),yield apiCall("jsldata/save-text",{jslid:u,text:o.value||""})}))},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{m=e,n(1,m)}))},e=>_(e.detail),()=>{p.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"jsonl",category:"JSON Lines editor",getCurrentEditor:getCurrentEditor$3,folder:null,format:"text",fileExtension:"jsonl",save:!1,findReplace:!0}),registerCommand({id:"jsonl.save",group:"save",category:"JSON Lines editor",name:"Save",toolbar:!0,isRelatedToTab:!0,icon:"icon save",testEnabled:()=>null!=getCurrentEditor$3(),onClick:()=>getCurrentEditor$3().save()}),registerCommand({id:"jsonl.preview",category:"JSON Lines editor",name:"Preview",icon:"icon preview",keyText:"F5",testEnabled:()=>null!=getCurrentEditor$3(),onClick:()=>getCurrentEditor$3().preview()}),registerCommand({id:"jsonl.previewNewTab",category:"JSON Lines editor",name:"Preview in new tab",icon:"icon preview",testEnabled:()=>null!=getCurrentEditor$3(),onClick:()=>getCurrentEditor$3().previewMewTab()}),registerCommand({id:"jsonl.closePreview",category:"JSON Lines editor",name:"Close preview",icon:"icon close",testEnabled:()=>{var e;return null===(e=getCurrentEditor$3())||void 0===e?void 0:e.isPreview()},onClick:()=>getCurrentEditor$3().closePreview()});class JsonLinesEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1B,create_fragment$1D,safe_not_equal,{tabid:9,archiveFolder:7,archiveFile:8,activator:0,getData:10,find:11,replace:12,getTabId:13,isPreview:14,closePreview:15,save:16,previewMewTab:17,preview:18})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[10]}get find(){return this.$$.ctx[11]}get replace(){return this.$$.ctx[12]}get getTabId(){return this.$$.ctx[13]}get isPreview(){return this.$$.ctx[14]}get closePreview(){return this.$$.ctx[15]}get save(){return this.$$.ctx[16]}get previewMewTab(){return this.$$.ctx[17]}get preview(){return this.$$.ctx[18]}}var JsonLinesEditorTab$1=Object.freeze({__proto__:null,default:JsonLinesEditorTab});function Diff(){}function buildValues(e,t,n,o,r){for(var i=0,a=t.length,s=0,c=0;i<a;i++){var l=t[i];if(l.removed){if(l.value=e.join(o.slice(c,c+l.count)),c+=l.count,i&&t[i-1].added){var u=t[i-1];t[i-1]=t[i],t[i]=u}}else{if(!l.added&&r){var d=n.slice(s,s+l.count);d=d.map((function(e,t){var n=o[c+t];return n.length>e.length?n:e})),l.value=e.join(d)}else l.value=e.join(n.slice(s,s+l.count));s+=l.count,l.added||(c+=l.count)}}var p=t[a-1];return a>1&&"string"==typeof p.value&&(p.added||p.removed)&&e.equals("",p.value)&&(t[a-2].value+=p.value,t.pop()),t}function clonePath(e){return{newPos:e.newPos,components:e.components.slice(0)}}Diff.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.callback;"function"==typeof n&&(o=n,n={}),this.options=n;var r=this;function i(e){return o?(setTimeout((function(){o(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var a=(t=this.removeEmpty(this.tokenize(t))).length,s=e.length,c=1,l=a+s,u=[{newPos:-1,components:[]}],d=this.extractCommon(u[0],t,e,0);if(u[0].newPos+1>=a&&d+1>=s)return i([{value:this.join(t),count:t.length}]);function p(){for(var n=-1*c;n<=c;n+=2){var o=void 0,l=u[n-1],d=u[n+1],p=(d?d.newPos:0)-n;l&&(u[n-1]=void 0);var m=l&&l.newPos+1<a,h=d&&0<=p&&p<s;if(m||h){if(!m||h&&l.newPos<d.newPos?(o=clonePath(d),r.pushComponent(o.components,void 0,!0)):((o=l).newPos++,r.pushComponent(o.components,!0,void 0)),p=r.extractCommon(o,t,e,n),o.newPos+1>=a&&p+1>=s)return i(buildValues(r,o.components,t,e,r.useLongestToken));u[n]=o}else u[n]=void 0}c++}if(o)!function e(){setTimeout((function(){if(c>l)return o();p()||e()}),0)}();else for(;c<=l;){var m=p();if(m)return m}},pushComponent:function(e,t,n){var o=e[e.length-1];o&&o.added===t&&o.removed===n?e[e.length-1]={count:o.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,o){for(var r=t.length,i=n.length,a=e.newPos,s=a-o,c=0;a+1<r&&s+1<i&&this.equals(t[a+1],n[s+1]);)a++,s++,c++;return c&&e.components.push({count:c}),e.newPos=a,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};var characterDiff=new Diff;function diffChars(e,t,n){return characterDiff.diff(e,t,n)}var extendedWordChars=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,reWhitespace=/\S/,wordDiff=new Diff;function diffWordsWithSpace(e,t,n){return wordDiff.diff(e,t,n)}wordDiff.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!reWhitespace.test(e)&&!reWhitespace.test(t)},wordDiff.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&extendedWordChars.test(t[n])&&extendedWordChars.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var lineDiff=new Diff;function diffLines(e,t,n){return lineDiff.diff(e,t,n)}lineDiff.tokenize=function(e){var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var o=0;o<n.length;o++){var r=n[o];o%2&&!this.options.newlineIsToken?t[t.length-1]+=r:(this.options.ignoreWhitespace&&(r=r.trim()),t.push(r))}return t};var sentenceDiff=new Diff;sentenceDiff.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var cssDiff=new Diff;function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}cssDiff.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var objectPrototypeToString=Object.prototype.toString,jsonDiff=new Diff;function canonicalize(e,t,n,o,r){var i,a;for(t=t||[],n=n||[],o&&(e=o(r,e)),i=0;i<t.length;i+=1)if(t[i]===e)return n[i];if("[object Array]"===objectPrototypeToString.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),i=0;i<e.length;i+=1)a[i]=canonicalize(e[i],t,n,o,r);return t.pop(),n.pop(),a}if(e&&e.toJSON&&(e=e.toJSON()),"object"===_typeof(e)&&null!==e){t.push(e),a={},n.push(a);var s,c=[];for(s in e)e.hasOwnProperty(s)&&c.push(s);for(c.sort(),i=0;i<c.length;i+=1)a[s=c[i]]=canonicalize(e[s],t,n,o,s);t.pop(),n.pop()}else a=e;return a}jsonDiff.useLongestToken=!0,jsonDiff.tokenize=lineDiff.tokenize,jsonDiff.castInput=function(e){var t=this.options,n=t.undefinedReplacement,o=t.stringifyReplacer,r=void 0===o?function(e,t){return void 0===t?n:t}:o;return"string"==typeof e?e:JSON.stringify(canonicalize(e,null,null,r),r," ")},jsonDiff.equals=function(e,t){return Diff.prototype.equals.call(jsonDiff,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};var arrayDiff=new Diff,LineType;function structuredPatch(e,t,n,o,r,i,a){a||(a={}),void 0===a.context&&(a.context=4);var s=diffLines(n,o,a);function c(e){return e.map((function(e){return" "+e}))}s.push({value:"",lines:[]});for(var l=[],u=0,d=0,p=[],m=1,h=1,f=function(e){var t=s[e],r=t.lines||t.value.replace(/\n$/,"").split("\n");if(t.lines=r,t.added||t.removed){var i;if(!u){var f=s[e-1];u=m,d=h,f&&(p=a.context>0?c(f.lines.slice(-a.context)):[],u-=p.length,d-=p.length)}(i=p).push.apply(i,_toConsumableArray(r.map((function(e){return(t.added?"+":"-")+e})))),t.added?h+=r.length:m+=r.length}else{if(u)if(r.length<=2*a.context&&e<s.length-2){var g;(g=p).push.apply(g,_toConsumableArray(c(r)))}else{var _,$=Math.min(r.length,a.context);(_=p).push.apply(_,_toConsumableArray(c(r.slice(0,$))));var b={oldStart:u,oldLines:m-u+$,newStart:d,newLines:h-d+$,lines:p};if(e>=s.length-2&&r.length<=a.context){var v=/\n$/.test(n),y=/\n$/.test(o),x=0==r.length&&p.length>b.oldLines;!v&&x&&n.length>0&&p.splice(b.oldLines,0,"\"),(v||x)&&y||p.push("\")}l.push(b),u=0,d=0,p=[]}m+=r.length,h+=r.length}},g=0;g<s.length;g++)f(g);return{oldFileName:e,newFileName:t,oldHeader:r,newHeader:i,hunks:l}}function formatPatch(e){var t=[];e.oldFileName==e.newFileName&&t.push("Index: "+e.oldFileName),t.push("==================================================================="),t.push("--- "+e.oldFileName+(void 0===e.oldHeader?"":"\t"+e.oldHeader)),t.push("+++ "+e.newFileName+(void 0===e.newHeader?"":"\t"+e.newHeader));for(var n=0;n<e.hunks.length;n++){var o=e.hunks[n];0===o.oldLines&&(o.oldStart-=1),0===o.newLines&&(o.newStart-=1),t.push("@@ -"+o.oldStart+","+o.oldLines+" +"+o.newStart+","+o.newLines+" @@"),t.push.apply(t,o.lines)}return t.join("\n")+"\n"}function createTwoFilesPatch(e,t,n,o,r,i,a){return formatPatch(structuredPatch(e,t,n,o,r,i,a))}arrayDiff.tokenize=function(e){return e.slice()},arrayDiff.join=arrayDiff.removeEmpty=function(e){return e},function(e){e.INSERT="insert",e.DELETE="delete",e.CONTEXT="context"}(LineType||(LineType={}));var OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"},DiffStyleType={WORD:"word",CHAR:"char"},specials=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],regex=RegExp("["+specials.join("\\")+"]","g");function escapeForRegExp(e){return e.replace(regex,"\\$&")}function unifyPath(e){return e?e.replace(/\\/g,"/"):e}function hashCode(e){var t,n,o=0;for(t=0,n=e.length;t<n;t++)o=(o<<5)-o+e.charCodeAt(t),o|=0;return o}var __spreadArray=function(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))};function getExtension(e,t){var n=e.split(".");return n.length>1?n[n.length-1]:t}function startsWithAny(e,t){return t.reduce((function(t,n){return t||e.startsWith(n)}),!1)}var baseDiffFilenamePrefixes=["a/","b/","i/","w/","c/","o/"];function getFilename(e,t,n){var o=void 0!==n?__spreadArray(__spreadArray([],baseDiffFilenamePrefixes,!0),[n],!1):baseDiffFilenamePrefixes,r=((t?new RegExp("^"+escapeForRegExp(t)+' "?(.+?)"?$'):new RegExp('^"?(.+?)"?$')).exec(e)||[])[1],i=void 0===r?"":r,a=o.find((function(e){return 0===i.indexOf(e)}));return(a?i.slice(a.length):i).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function getSrcFilename(e,t){return getFilename(e,"---",t)}function getDstFilename(e,t){return getFilename(e,"+++",t)}function parse$1(e,t){void 0===t&&(t={});var n=[],o=null,r=null,i=null,a=null,s=null,c=null,l=null,u="--- ",d="+++ ",p="@@",m=/^old mode (\d{6})/,h=/^new mode (\d{6})/,f=/^deleted file mode (\d{6})/,g=/^new file mode (\d{6})/,_=/^copy from "?(.+)"?/,$=/^copy to "?(.+)"?/,b=/^rename from "?(.+)"?/,v=/^rename to "?(.+)"?/,y=/^similarity index (\d+)%/,x=/^dissimilarity index (\d+)%/,w=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,C=/^Binary files (.*) and (.*) differ/,k=/^GIT binary patch/,S=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,T=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,E=/^new file mode (\d{6})/,A=/^deleted file mode (\d{6}),(\d{6})/,D=e.replace(/\/g,"").replace(/\r\n?/g,"\n").split("\n");function N(){null!==r&&null!==o&&(o.blocks.push(r),r=null)}function I(){null!==o&&(o.oldName||null===c||(o.oldName=c),o.newName||null===l||(o.newName=l),o.newName&&(n.push(o),o=null)),c=null,l=null}function R(){N(),I(),o={blocks:[],deletedLines:0,addedLines:0}}function O(e){var t;N(),null!==o&&((t=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))?(o.isCombined=!1,i=parseInt(t[1],10),s=parseInt(t[2],10)):(t=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))?(o.isCombined=!0,i=parseInt(t[1],10),a=parseInt(t[2],10),s=parseInt(t[3],10)):(e.startsWith(p)&&console.error("Failed to parse lines, starting in 0!"),i=0,s=0,o.isCombined=!1)),r={lines:[],oldStartLine:i,oldStartLine2:a,newStartLine:s,header:e}}return D.forEach((function(e,a){if(e&&!e.startsWith("*")){var N,I=D[a-1],F=D[a+1],M=D[a+2];if(e.startsWith("diff")){R();if((N=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(e))&&(c=getFilename(N[1],void 0,t.dstPrefix),l=getFilename(N[2],void 0,t.srcPrefix)),null===o)throw new Error("Where is my file !!!");o.isGitDiff=!0}else if((!o||!o.isGitDiff&&o&&e.startsWith(u)&&F.startsWith(d)&&M.startsWith(p))&&R(),!(null==o?void 0:o.isTooBig)){if(o&&("number"==typeof t.diffMaxChanges&&o.addedLines+o.deletedLines>t.diffMaxChanges||"number"==typeof t.diffMaxLineLength&&e.length>t.diffMaxLineLength))return o.isTooBig=!0,o.addedLines=0,o.deletedLines=0,o.blocks=[],r=null,void O("function"==typeof t.diffTooBigMessage?t.diffTooBigMessage(n.length):"Diff too big to be displayed");if(e.startsWith(u)&&F.startsWith(d)||e.startsWith(d)&&I.startsWith(u)){if(o&&!o.oldName&&e.startsWith("--- ")&&(N=getSrcFilename(e,t.srcPrefix)))return o.oldName=N,void(o.language=getExtension(o.oldName,o.language));if(o&&!o.newName&&e.startsWith("+++ ")&&(N=getDstFilename(e,t.dstPrefix)))return o.newName=N,void(o.language=getExtension(o.newName,o.language))}if(o&&(e.startsWith(p)||o.isGitDiff&&o.oldName&&o.newName&&!r))O(e);else if(r&&(e.startsWith("+")||e.startsWith("-")||e.startsWith(" ")))!function(e){if(null!==o&&null!==r&&null!==i&&null!==s){var t={content:e},n=o.isCombined?["+ "," +","++"]:["+"],a=o.isCombined?["- "," -","--"]:["-"];startsWithAny(e,n)?(o.addedLines++,t.type=LineType.INSERT,t.oldNumber=void 0,t.newNumber=s++):startsWithAny(e,a)?(o.deletedLines++,t.type=LineType.DELETE,t.oldNumber=i++,t.newNumber=void 0):(t.type=LineType.CONTEXT,t.oldNumber=i++,t.newNumber=s++),r.lines.push(t)}}(e);else{var L=!function(e,t){for(var n=t;n<D.length-3;){if(e.startsWith("diff"))return!1;if(D[n].startsWith(u)&&D[n+1].startsWith(d)&&D[n+2].startsWith(p))return!0;n++}return!1}(e,a);if(null===o)throw new Error("Where is my file !!!");(N=m.exec(e))?o.oldMode=N[1]:(N=h.exec(e))?o.newMode=N[1]:(N=f.exec(e))?(o.deletedFileMode=N[1],o.isDeleted=!0):(N=g.exec(e))?(o.newFileMode=N[1],o.isNew=!0):(N=_.exec(e))?(L&&(o.oldName=N[1]),o.isCopy=!0):(N=$.exec(e))?(L&&(o.newName=N[1]),o.isCopy=!0):(N=b.exec(e))?(L&&(o.oldName=N[1]),o.isRename=!0):(N=v.exec(e))?(L&&(o.newName=N[1]),o.isRename=!0):(N=C.exec(e))?(o.isBinary=!0,o.oldName=getFilename(N[1],void 0,t.srcPrefix),o.newName=getFilename(N[2],void 0,t.dstPrefix),O("Binary file")):k.test(e)?(o.isBinary=!0,O(e)):(N=y.exec(e))?o.unchangedPercentage=parseInt(N[1],10):(N=x.exec(e))?o.changedPercentage=parseInt(N[1],10):(N=w.exec(e))?(o.checksumBefore=N[1],o.checksumAfter=N[2],N[3]&&(o.mode=N[3])):(N=S.exec(e))?(o.checksumBefore=[N[2],N[3]],o.checksumAfter=N[1]):(N=T.exec(e))?(o.oldMode=[N[2],N[3]],o.newMode=N[1]):(N=E.exec(e))?(o.newFileMode=N[1],o.isNew=!0):(N=A.exec(e))&&(o.deletedFileMode=N[1],o.isDeleted=!0)}}}})),N(),I(),n}function levenshtein(e,t){if(0===e.length)return t.length;if(0===t.length)return e.length;var n,o,r=[];for(n=0;n<=t.length;n++)r[n]=[n];for(o=0;o<=e.length;o++)r[0][o]=o;for(n=1;n<=t.length;n++)for(o=1;o<=e.length;o++)t.charAt(n-1)===e.charAt(o-1)?r[n][o]=r[n-1][o-1]:r[n][o]=Math.min(r[n-1][o-1]+1,Math.min(r[n][o-1]+1,r[n-1][o]+1));return r[t.length][e.length]}function newDistanceFn(e){return function(t,n){var o=e(t).trim(),r=e(n).trim();return levenshtein(o,r)/(o.length+r.length)}}function newMatcherFn(e){return function t(n,o,r,i){void 0===r&&(r=0),void 0===i&&(i=new Map);var a=function(t,n,o){void 0===o&&(o=new Map);for(var r,i=1/0,a=0;a<t.length;++a)for(var s=0;s<n.length;++s){var c=JSON.stringify([t[a],n[s]]),l=void 0;o.has(c)&&(l=o.get(c))||(l=e(t[a],n[s]),o.set(c,l)),l<i&&(r={indexA:a,indexB:s,score:i=l})}return r}(n,o,i);if(!a||n.length+o.length<3)return[[n,o]];var s=n.slice(0,a.indexA),c=o.slice(0,a.indexB),l=[n[a.indexA]],u=[o[a.indexB]],d=a.indexA+1,p=a.indexB+1,m=n.slice(d),h=o.slice(p),f=t(s,c,r+1,i),g=t(l,u,r+1,i),_=t(m,h,r+1,i),$=g;return(a.indexA>0||a.indexB>0)&&($=f.concat($)),(n.length>d||o.length>p)&&($=$.concat(_)),$}}var __assign$4=function(){return(__assign$4=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},CSSLineClass={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},defaultRenderConfig={matching:LineMatchingType.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:DiffStyleType.WORD},separator="/",distance=newDistanceFn((function(e){return e.value})),matcher=newMatcherFn(distance);function isDevNullName(e){return-1!==e.indexOf("dev/null")}function removeInsElements(e){return e.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g,"")}function removeDelElements(e){return e.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g,"")}function toCSSClass(e){switch(e){case LineType.CONTEXT:return CSSLineClass.CONTEXT;case LineType.INSERT:return CSSLineClass.INSERTS;case LineType.DELETE:return CSSLineClass.DELETES}}function prefixLength(e){return e?2:1}function escapeForHtml(e){return e.slice(0).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function deconstructLine(e,t,n){void 0===n&&(n=!0);var o=prefixLength(t);return{prefix:e.substring(0,o),content:n?escapeForHtml(e.substring(o)):e.substring(o)}}function filenameDiff(e){var t=unifyPath(e.oldName),n=unifyPath(e.newName);if(t===n||isDevNullName(t)||isDevNullName(n))return isDevNullName(n)?t:n;for(var o=[],r=[],i=t.split(separator),a=n.split(separator),s=0,c=i.length-1,l=a.length-1;s<c&&s<l&&i[s]===a[s];)o.push(a[s]),s+=1;for(;c>s&&l>s&&i[c]===a[l];)r.unshift(a[l]),c-=1,l-=1;var u=o.join(separator),d=r.join(separator),p=i.slice(s,c+1).join(separator),m=a.slice(s,l+1).join(separator);return u.length&&d.length?u+separator+"{"+p+" → "+m+"}"+separator+d:u.length?u+separator+"{"+p+" → "+m+"}":d.length?"{"+p+" → "+m+"}"+separator+d:t+" → "+n}function getHtmlId(e){return"d2h-"+hashCode(filenameDiff(e)).toString().slice(-6)}function getFileIcon(e){var t="file-changed";return e.isRename||e.isCopy?t="file-renamed":e.isNew?t="file-added":e.isDeleted?t="file-deleted":e.newName!==e.oldName&&(t="file-renamed"),t}function diffHighlight(e,t,n,o){void 0===o&&(o={});var r=__assign$4(__assign$4({},defaultRenderConfig),o),i=r.matching,a=r.maxLineLengthHighlight,s=r.matchWordsThreshold,c=r.diffStyle,l=deconstructLine(e,n,!1),u=deconstructLine(t,n,!1);if(l.content.length>a||u.content.length>a)return{oldLine:{prefix:l.prefix,content:escapeForHtml(l.content)},newLine:{prefix:u.prefix,content:escapeForHtml(u.content)}};var d="char"===c?diffChars(l.content,u.content):diffWordsWithSpace(l.content,u.content),p=[];if("word"===c&&"words"===i){var m=d.filter((function(e){return e.removed})),h=d.filter((function(e){return e.added}));matcher(h,m).forEach((function(e){1===e[0].length&&1===e[1].length&&(distance(e[0][0],e[1][0])<s&&(p.push(e[0][0]),p.push(e[1][0])))}))}var f=d.reduce((function(e,t){var n=t.added?"ins":t.removed?"del":null,o=p.indexOf(t)>-1?' class="d2h-change"':"",r=escapeForHtml(t.value);return null!==n?e+"<"+n+o+">"+r+"</"+n+">":""+e+r}),"");return{oldLine:{prefix:l.prefix,content:removeInsElements(f)},newLine:{prefix:u.prefix,content:removeDelElements(f)}}}var baseTemplatesPath$2="file-summary",iconsBaseTemplatesPath$2="icon";function render(e,t){var n=e.map((function(e){return t.render(baseTemplatesPath$2,"line",{fileHtmlId:getHtmlId(e),oldName:e.oldName,newName:e.newName,fileName:filenameDiff(e),deletedLines:"-"+e.deletedLines,addedLines:"+"+e.addedLines},{fileIcon:t.template(iconsBaseTemplatesPath$2,getFileIcon(e))})})).join("\n");return t.render(baseTemplatesPath$2,"wrapper",{filesNumber:e.length,files:n})}var __assign$3=function(){return(__assign$3=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},defaultLineByLineRendererConfig=__assign$3(__assign$3({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath$1="generic",baseTemplatesPath$1="line-by-line",iconsBaseTemplatesPath$1="icon",tagsBaseTemplatesPath$1="tag",LineByLineRenderer=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=__assign$3(__assign$3({},defaultLineByLineRendererConfig),t)}return e.prototype.render=function(e){var t=this,n=e.map((function(e){var n;return n=e.blocks.length?t.generateFileHtml(e):t.generateEmptyDiff(),t.makeFileDiffHtml(e,n)})).join("\n");return this.hoganUtils.render(genericTemplatesPath$1,"wrapper",{content:n})},e.prototype.makeFileDiffHtml=function(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var n=this.hoganUtils.template(baseTemplatesPath$1,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath$1,"file-path"),r=this.hoganUtils.template(iconsBaseTemplatesPath$1,"file"),i=this.hoganUtils.template(tagsBaseTemplatesPath$1,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:r,fileTag:i})})},e.prototype.generateEmptyDiff=function(){return this.hoganUtils.render(genericTemplatesPath$1,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:CSSLineClass})},e.prototype.generateFileHtml=function(e){var t=this,n=newMatcherFn(newDistanceFn((function(t){return deconstructLine(t.content,e.isCombined).content})));return e.blocks.map((function(o){var r=t.hoganUtils.render(genericTemplatesPath$1,"block-header",{CSSLineClass:CSSLineClass,blockHeader:e.isTooBig?o.header:escapeForHtml(o.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return t.applyLineGroupping(o).forEach((function(o){var i=o[0],a=o[1],s=o[2];if(a.length&&s.length&&!i.length)t.applyRematchMatching(a,s,n).map((function(n){var o=n[0],i=n[1],a=t.processChangedLines(e.isCombined,o,i),s=a.left,c=a.right;r+=s,r+=c}));else if(i.length)i.forEach((function(n){var o=deconstructLine(n.content,e.isCombined),i=o.prefix,a=o.content;r+=t.generateSingleLineHtml({type:CSSLineClass.CONTEXT,prefix:i,content:a,oldNumber:n.oldNumber,newNumber:n.newNumber})}));else if(a.length||s.length){var c=t.processChangedLines(e.isCombined,a,s),l=c.left,u=c.right;r+=l,r+=u}else console.error("Unknown state reached while processing groups of lines",i,a,s)})),r})).join("\n")},e.prototype.applyLineGroupping=function(e){for(var t=[],n=[],o=[],r=0;r<e.lines.length;r++){var i=e.lines[r];(i.type!==LineType.INSERT&&o.length||i.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),i.type===LineType.CONTEXT?t.push([[i],[],[]]):i.type===LineType.INSERT&&0===n.length?t.push([[],[],[i]]):i.type===LineType.INSERT&&n.length>0?o.push(i):i.type===LineType.DELETE&&n.push(i)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t},e.prototype.applyRematchMatching=function(e,t,n){var o=e.length*t.length,r=Math.max.apply(null,[0].concat(e.concat(t).map((function(e){return e.content.length}))));return o<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]},e.prototype.processChangedLines=function(e,t,n){for(var o={right:"",left:""},r=Math.max(t.length,n.length),i=0;i<r;i++){var a=t[i],s=n[i],c=void 0!==a&&void 0!==s?diffHighlight(a.content,s.content,e,this.config):void 0,l=void 0!==a&&void 0!==a.oldNumber?__assign$3(__assign$3({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:__assign$3(__assign$3({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{oldNumber:a.oldNumber,newNumber:a.newNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?__assign$3(__assign$3({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:__assign$3(__assign$3({},deconstructLine(s.content,e)),{type:toCSSClass(s.type)})),{oldNumber:s.oldNumber,newNumber:s.newNumber}):void 0,d=this.generateLineHtml(l,u),p=d.left,m=d.right;o.left+=p,o.right+=m}return o},e.prototype.generateLineHtml=function(e,t){return{left:this.generateSingleLineHtml(e),right:this.generateSingleLineHtml(t)}},e.prototype.generateSingleLineHtml=function(e){if(void 0===e)return"";var t=this.hoganUtils.render(baseTemplatesPath$1,"numbers",{oldNumber:e.oldNumber||"",newNumber:e.newNumber||""});return this.hoganUtils.render(genericTemplatesPath$1,"line",{type:e.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:" "===e.prefix?" ":e.prefix,content:e.content,lineNumber:t})},e}(),__assign$2=function(){return(__assign$2=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},defaultSideBySideRendererConfig=__assign$2(__assign$2({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath="generic",baseTemplatesPath="side-by-side",iconsBaseTemplatesPath="icon",tagsBaseTemplatesPath="tag",SideBySideRenderer=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=__assign$2(__assign$2({},defaultSideBySideRendererConfig),t)}return e.prototype.render=function(e){var t=this,n=e.map((function(e){var n;return n=e.blocks.length?t.generateFileHtml(e):t.generateEmptyDiff(),t.makeFileDiffHtml(e,n)})).join("\n");return this.hoganUtils.render(genericTemplatesPath,"wrapper",{content:n})},e.prototype.makeFileDiffHtml=function(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var n=this.hoganUtils.template(baseTemplatesPath,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath,"file-path"),r=this.hoganUtils.template(iconsBaseTemplatesPath,"file"),i=this.hoganUtils.template(tagsBaseTemplatesPath,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:r,fileTag:i})})},e.prototype.generateEmptyDiff=function(){return{right:"",left:this.hoganUtils.render(genericTemplatesPath,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:CSSLineClass})}},e.prototype.generateFileHtml=function(e){var t=this,n=newMatcherFn(newDistanceFn((function(t){return deconstructLine(t.content,e.isCombined).content})));return e.blocks.map((function(o){var r={left:t.makeHeaderHtml(o.header,e),right:t.makeHeaderHtml("")};return t.applyLineGroupping(o).forEach((function(o){var i=o[0],a=o[1],s=o[2];if(a.length&&s.length&&!i.length)t.applyRematchMatching(a,s,n).map((function(n){var o=n[0],i=n[1],a=t.processChangedLines(e.isCombined,o,i),s=a.left,c=a.right;r.left+=s,r.right+=c}));else if(i.length)i.forEach((function(n){var o=deconstructLine(n.content,e.isCombined),i=o.prefix,a=o.content,s=t.generateLineHtml({type:CSSLineClass.CONTEXT,prefix:i,content:a,number:n.oldNumber},{type:CSSLineClass.CONTEXT,prefix:i,content:a,number:n.newNumber}),c=s.left,l=s.right;r.left+=c,r.right+=l}));else if(a.length||s.length){var c=t.processChangedLines(e.isCombined,a,s),l=c.left,u=c.right;r.left+=l,r.right+=u}else console.error("Unknown state reached while processing groups of lines",i,a,s)})),r})).reduce((function(e,t){return{left:e.left+t.left,right:e.right+t.right}}),{left:"",right:""})},e.prototype.applyLineGroupping=function(e){for(var t=[],n=[],o=[],r=0;r<e.lines.length;r++){var i=e.lines[r];(i.type!==LineType.INSERT&&o.length||i.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),i.type===LineType.CONTEXT?t.push([[i],[],[]]):i.type===LineType.INSERT&&0===n.length?t.push([[],[],[i]]):i.type===LineType.INSERT&&n.length>0?o.push(i):i.type===LineType.DELETE&&n.push(i)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t},e.prototype.applyRematchMatching=function(e,t,n){var o=e.length*t.length,r=Math.max.apply(null,[0].concat(e.concat(t).map((function(e){return e.content.length}))));return o<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]},e.prototype.makeHeaderHtml=function(e,t){return this.hoganUtils.render(genericTemplatesPath,"block-header",{CSSLineClass:CSSLineClass,blockHeader:(null==t?void 0:t.isTooBig)?e:escapeForHtml(e),lineClass:"d2h-code-side-linenumber",contentClass:"d2h-code-side-line"})},e.prototype.processChangedLines=function(e,t,n){for(var o={right:"",left:""},r=Math.max(t.length,n.length),i=0;i<r;i++){var a=t[i],s=n[i],c=void 0!==a&&void 0!==s?diffHighlight(a.content,s.content,e,this.config):void 0,l=void 0!==a&&void 0!==a.oldNumber?__assign$2(__assign$2({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:__assign$2(__assign$2({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{number:a.oldNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?__assign$2(__assign$2({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:__assign$2(__assign$2({},deconstructLine(s.content,e)),{type:toCSSClass(s.type)})),{number:s.newNumber}):void 0,d=this.generateLineHtml(l,u),p=d.left,m=d.right;o.left+=p,o.right+=m}return o},e.prototype.generateLineHtml=function(e,t){return{left:this.generateSingleHtml(e),right:this.generateSingleHtml(t)}},e.prototype.generateSingleHtml=function(e){var t="d2h-code-side-linenumber",n="d2h-code-side-line";return this.hoganUtils.render(genericTemplatesPath,"line",{type:(null==e?void 0:e.type)||CSSLineClass.CONTEXT+" d2h-emptyplaceholder",lineClass:void 0!==e?t:t+" d2h-code-side-emptyplaceholder",contentClass:void 0!==e?n:n+" d2h-code-side-emptyplaceholder",prefix:" "===(null==e?void 0:e.prefix)?" ":null==e?void 0:e.prefix,content:null==e?void 0:e.content,lineNumber:null==e?void 0:e.number})},e}(),compiler={};!function(e){!function(e){var t=/\S/,n=/\"/g,o=/\n/g,r=/\r/g,i=/\\/g,a=/\u2028/,s=/\u2029/;function c(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function l(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function u(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var o=1,r=e.length;o<r;o++)if(t.charAt(n+o)!=e.charAt(o))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,o){var r=n.length,i=0,a=null,s=null,d="",p=[],m=!1,h=0,f=0,g="{{",_="}}";function $(){d.length>0&&(p.push({tag:"_t",text:new String(d)}),d="")}function b(n,o){if($(),n&&function(){for(var n=!0,o=f;o<p.length;o++)if(!(n=e.tags[p[o].tag]<e.tags._v||"_t"==p[o].tag&&null===p[o].text.match(t)))return!1;return n}())for(var r,i=f;i<p.length;i++)p[i].text&&((r=p[i+1])&&">"==r.tag&&(r.indent=p[i].text.toString()),p.splice(i,1));else o||p.push({tag:"\n"});m=!1,f=p.length}function v(e,t){var n="="+_,o=e.indexOf(n,t),r=l(e.substring(e.indexOf("=",t)+1,o)).split(" ");return g=r[0],_=r[r.length-1],o+n.length-1}for(o&&(o=o.split(" "),g=o[0],_=o[1]),h=0;h<r;h++)0==i?u(g,n,h)?(--h,$(),i=1):"\n"==n.charAt(h)?b(m):d+=n.charAt(h):1==i?(h+=g.length-1,"="==(a=(s=e.tags[n.charAt(h+1)])?n.charAt(h+1):"_v")?(h=v(n,h),i=0):(s&&h++,i=2),m=h):u(_,n,h)?(p.push({tag:a,n:l(d),otag:g,ctag:_,i:"/"==a?m-g.length:h+_.length}),d="",h+=_.length-1,i=0,"{"==a&&("}}"==_?h++:c(p[p.length-1]))):d+=n.charAt(h);return b(m,!0),p};var d={_t:!0,"\n":!0,$:!0,"/":!0};function p(t,n,o,r){var i,a=[],s=null,c=null;for(i=o[o.length-1];t.length>0;){if(c=t.shift(),i&&"<"==i.tag&&!(c.tag in d))throw new Error("Illegal content in < super tag.");if(e.tags[c.tag]<=e.tags.$||m(c,r))o.push(c),c.nodes=p(t,c.tag,o,r);else{if("/"==c.tag){if(0===o.length)throw new Error("Closing tag without opener: /"+c.n);if(s=o.pop(),c.n!=s.n&&!h(c.n,s.n,r))throw new Error("Nesting error: "+s.n+" vs. "+c.n);return s.end=c.i,a}"\n"==c.tag&&(c.last=0==t.length||"\n"==t[0].tag)}a.push(c)}if(o.length>0)throw new Error("missing closing tag: "+o.pop().n);return a}function m(e,t){for(var n=0,o=t.length;n<o;n++)if(t[n].o==e.n)return e.tag="#",!0}function h(e,t,n){for(var o=0,r=n.length;o<r;o++)if(n[o].c==e&&n[o].o==t)return!0}function f(e){var t=[];for(var n in e.partials)t.push('"'+_(n)+'":{name:"'+_(e.partials[n].name)+'", '+f(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+_(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,o){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+f(t)+"}"};var g=0;function _(e){return e.replace(i,"\\\\").replace(n,'\\"').replace(o,"\\n").replace(r,"\\r").replace(a,"\\u2028").replace(s,"\\u2029")}function $(e){return~e.indexOf(".")?"d":"f"}function b(e,t){var n="<"+(t.prefix||"")+e.n+g++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+_(n)+'",c,p,"'+(e.indent||"")+'"));',n}function v(e,t){t.code+="t.b(t.t(t."+$(e.n)+'("'+_(e.n)+'",c,p,0)));'}function y(e){return"t.b("+e+");"}e.generate=function(t,n,o){g=0;var r={code:"",subs:{},partials:{}};return e.walk(t,r),o.asString?this.stringify(r,n,o):this.makeTemplate(r,n,o)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var o=this.makePartials(e);return o.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(o,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+$(t.n)+'("'+_(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+$(t.n)+'("'+_(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":b,"<":function(t,n){var o={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,o);var r=n.partials[b(t,n)];r.subs=o.subs,r.partials=o.partials},$:function(t,n){var o={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,o),n.subs[t.n]=o.code,n.inPartial||(n.code+='t.sub("'+_(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=y('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+$(e.n)+'("'+_(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=y('"'+_(e.text)+'"')},"{":v,"&":v},e.walk=function(t,n){for(var o,r=0,i=t.length;r<i;r++)(o=e.codegen[t[r].tag])&&o(t[r],n);return n},e.parse=function(e,t,n){return p(e,0,[],(n=n||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var o=e.cacheKey(t,n),r=this.cache[o];if(r){var i=r.partials;for(var a in i)delete i[a].instance;return r}return r=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[o]=r}}(e)}(compiler);var template={};!function(e){!function(e){function t(e,t,n){var o;return t&&"object"==typeof t&&(void 0!==t[e]?o=t[e]:n&&t.get&&"function"==typeof t.get&&(o=t.get(e))),o}e.Template=function(e,t,n,o){e=e||{},this.r=e.code||this.r,this.c=n,this.options=o||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=c(e),s.test(e)?e.replace(n,"&").replace(o,"<").replace(r,">").replace(i,"'").replace(a,"""):e},t:c,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],o=t[n.name];if(n.instance&&n.base==o)return n.instance;if("string"==typeof o){if(!this.c)throw new Error("No compiler available.");o=this.c.compile(o,this.options)}if(!o)return null;if(this.partials[e].base=o,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);o=function(e,t,n,o,r,i){function a(){}function s(){}var c;a.prototype=e,s.prototype=e.subs;var l=new a;for(c in l.subs=new s,l.subsText={},l.buf="",o=o||{},l.stackSubs=o,l.subsText=i,t)o[c]||(o[c]=t[c]);for(c in o)l.subs[c]=o[c];for(c in r=r||{},l.stackPartials=r,n)r[c]||(r[c]=n[c]);for(c in r)l.partials[c]=r[c];return l}(o,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=o,o},rp:function(e,t,n,o){var r=this.ep(e,n);return r?r.ri(t,n,o):""},rs:function(e,t,n){var o=e[e.length-1];if(l(o))for(var r=0;r<o.length;r++)e.push(o[r]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,o,r,i,a){var s;return(!l(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,o,r,i,a)),s=!!e,!o&&s&&t&&t.push("object"==typeof e?e:t[t.length-1]),s)},d:function(e,n,o,r){var i,a=e.split("."),s=this.f(a[0],n,o,r),c=this.options.modelGet,u=null;if("."===e&&l(n[n.length-2]))s=n[n.length-1];else for(var d=1;d<a.length;d++)void 0!==(i=t(a[d],s,c))?(u=s,s=i):s="";return!(r&&!s)&&(r||"function"!=typeof s||(n.push(u),s=this.mv(s,n,o),n.pop()),s)},f:function(e,n,o,r){for(var i=!1,a=!1,s=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(i=t(e,n[c],s))){a=!0;break}return a?(r||"function"!=typeof i||(i=this.mv(i,n,o)),i):!r&&""},ls:function(e,t,n,o,r){var i=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(c(e.call(t,o)),t,n)),this.options.delimiters=i,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,o,r,i,a){var s,c=t[t.length-1],l=e.call(c);return"function"==typeof l?!!o||(s=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(l,c,n,s.substring(r,i),a)):l},mv:function(e,t,n){var o=t[t.length-1],r=e.call(o);return"function"==typeof r?this.ct(c(r.call(o)),o,n):r},sub:function(e,t,n,o){var r=this.subs[e];r&&(this.activeSub=e,r(t,n,this,o),this.activeSub=!1)}};var n=/&/g,o=/</g,r=/>/g,i=/\'/g,a=/\"/g,s=/[&<>\"\']/;function c(e){return String(null==e?"":e)}var l=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(e)}(template);var Hogan=compiler;Hogan.Template=template.Template,Hogan.template=Hogan.Template;var hogan=Hogan,defaultTemplates={};defaultTemplates["file-summary-line"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<li class="d2h-file-list-line">'),o.b("\n"+n),o.b(' <span class="d2h-file-name-wrapper">'),o.b("\n"+n),o.b(o.rp("<fileIcon0",e,t," ")),o.b(' <a href="#'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-name">'),o.b(o.v(o.f("fileName",e,t,0))),o.b("</a>"),o.b("\n"+n),o.b(' <span class="d2h-file-stats">'),o.b("\n"+n),o.b(' <span class="d2h-lines-added">'),o.b(o.v(o.f("addedLines",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(' <span class="d2h-lines-deleted">'),o.b(o.v(o.f("deletedLines",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(" </span>"),o.b("\n"+n),o.b(" </span>"),o.b("\n"+n),o.b("</li>"),o.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}}},subs:{}}),defaultTemplates["file-summary-wrapper"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="d2h-file-list-wrapper">'),o.b("\n"+n),o.b(' <div class="d2h-file-list-header">'),o.b("\n"+n),o.b(' <span class="d2h-file-list-title">Files changed ('),o.b(o.v(o.f("filesNumber",e,t,0))),o.b(")</span>"),o.b("\n"+n),o.b(' <a class="d2h-file-switch d2h-hide">hide</a>'),o.b("\n"+n),o.b(' <a class="d2h-file-switch d2h-show">show</a>'),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <ol class="d2h-file-list">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("files",e,t,0))),o.b("\n"+n),o.b(" </ol>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-block-header"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("lineClass",e,t,0))),o.b(" "),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('"></td>'),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b(o.t(o.f("blockHeader",e,t,0))),o.b("</div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-empty-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" File without changes"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-file-path"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-file-name-wrapper">'),o.b("\n"+n),o.b(o.rp("<fileIcon0",e,t," ")),o.b(' <span class="d2h-file-name">'),o.b(o.v(o.f("fileDiffName",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(o.rp("<fileTag1",e,t," ")),o.b("</span>"),o.b("\n"+n),o.b('<label class="d2h-file-collapse">'),o.b("\n"+n),o.b(' <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">'),o.b("\n"+n),o.b(" Viewed"),o.b("\n"+n),o.b("</label>"),o.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}},"<fileTag1":{name:"fileTag",partials:{},subs:{}}},subs:{}}),defaultTemplates["generic-line"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("lineClass",e,t,0))),o.b(" "),o.b(o.v(o.f("type",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("lineNumber",e,t,0))),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("type",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b("\n"+n),o.s(o.f("prefix",e,t,1),e,t,0,162,238,"{{ }}")&&(o.rs(e,t,(function(e,t,o){o.b(' <span class="d2h-code-line-prefix">'),o.b(o.t(o.f("prefix",e,t,0))),o.b("</span>"),o.b("\n"+n)})),e.pop()),o.s(o.f("prefix",e,t,1),e,t,1,0,0,"")||(o.b(' <span class="d2h-code-line-prefix"> </span>'),o.b("\n"+n)),o.s(o.f("content",e,t,1),e,t,0,371,445,"{{ }}")&&(o.rs(e,t,(function(e,t,o){o.b(' <span class="d2h-code-line-ctn">'),o.b(o.t(o.f("content",e,t,0))),o.b("</span>"),o.b("\n"+n)})),e.pop()),o.s(o.f("content",e,t,1),e,t,1,0,0,"")||(o.b(' <span class="d2h-code-line-ctn"><br></span>'),o.b("\n"+n)),o.b(" </div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-wrapper"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="d2h-wrapper">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("content",e,t,0))),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-added"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16"'),o.b("\n"+n),o.b(' width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-changed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-deleted"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM11 9H3V7h8v2z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-renamed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-moved" height="16" title="renamed" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M6 9H3V7h3V4l5 4-5 4V9z m8-7v12c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h12c0.55 0 1 0.45 1 1z m-1 0H1v12h12V2z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">'),o.b("\n"+n),o.b(' <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["line-by-line-file-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div id="'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-wrapper" data-lang="'),o.b(o.v(o.d("file.language",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-header">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("filePath",e,t,0))),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-file-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("diffs",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["line-by-line-numbers"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="line-num1">'),o.b(o.v(o.f("oldNumber",e,t,0))),o.b("</div>"),o.b("\n"+n),o.b('<div class="line-num2">'),o.b(o.v(o.f("newNumber",e,t,0))),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["side-by-side-file-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div id="'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-wrapper" data-lang="'),o.b(o.v(o.d("file.language",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-header">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("filePath",e,t,0))),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-files-diff">'),o.b("\n"+n),o.b(' <div class="d2h-file-side-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.d("diffs.left",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-file-side-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.d("diffs.right",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-added"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-added d2h-added-tag">ADDED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-changed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-deleted"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-deleted d2h-deleted-tag">DELETED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-renamed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-moved d2h-moved-tag">RENAMED</span>'),o.fl()},partials:{},subs:{}});var __assign$1=function(){return(__assign$1=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},HoganJsUtils=function(){function e(e){var t=e.compiledTemplates,n=void 0===t?{}:t,o=e.rawTemplates,r=void 0===o?{}:o,i=Object.entries(r).reduce((function(e,t){var n,o=t[0],r=t[1],i=hogan.compile(r,{asString:!1});return __assign$1(__assign$1({},e),((n={})[o]=i,n))}),{});this.preCompiledTemplates=__assign$1(__assign$1(__assign$1({},defaultTemplates),n),i)}return e.compile=function(e){return hogan.compile(e,{asString:!1})},e.prototype.render=function(e,t,n,o,r){var i=this.templateKey(e,t);try{return this.preCompiledTemplates[i].render(n,o,r)}catch(e){throw new Error("Could not find template to render '"+i+"'")}},e.prototype.template=function(e,t){return this.preCompiledTemplates[this.templateKey(e,t)]},e.prototype.templateKey=function(e,t){return e+"-"+t},e}(),__assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},defaultDiff2HtmlConfig=__assign(__assign(__assign({},defaultLineByLineRendererConfig),defaultSideBySideRendererConfig),{outputFormat:OutputFormatType.LINE_BY_LINE,drawFileList:!0});function parse(e,t){return void 0===t&&(t={}),parse$1(e,__assign(__assign({},defaultDiff2HtmlConfig),t))}function html(e,t){void 0===t&&(t={});var n=__assign(__assign({},defaultDiff2HtmlConfig),t),o="string"==typeof e?parse$1(e,n):e,r=new HoganJsUtils(n);return(n.drawFileList?render(o,r):"")+("side-by-side"===n.outputFormat?new SideBySideRenderer(r,n).render(o):new LineByLineRenderer(r,n).render(o))}function create_fragment$1C(e){let t;return{c(){t=element("div"),attr(t,"class","root svelte-ym7rtz")},m(n,o){insert(n,t,o),t.innerHTML=e[0]},p(e,[n]){1&n&&(t.innerHTML=e[0])},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$1A(e,t,n){let o,r,i,{leftText:a}=t,{rightText:s}=t,{leftTitle:c}=t,{rightTitle:l}=t;return e.$$set=e=>{"leftText"in e&&n(1,a=e.leftText),"rightText"in e&&n(2,s=e.rightText),"leftTitle"in e&&n(3,c=e.leftTitle),"rightTitle"in e&&n(4,l=e.rightTitle)},e.$$.update=()=>{30&e.$$.dirty&&n(6,o=createTwoFilesPatch(c,l,a,s,"","")),64&e.$$.dirty&&n(5,r=parse(o)),32&e.$$.dirty&&n(0,i=html(r,{drawFileList:!1}))},[i,a,s,c,l,r,o]}class DiffView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1A,create_fragment$1C,safe_not_equal,{leftText:1,rightText:2,leftTitle:3,rightTitle:4})}}function create_if_block$J(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot$C]},$$scope:{ctx:e}}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};187&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$C(e){let t,n,o,r,i,a,s,c,l,u;return t=new FontIcon({props:{icon:e[0]}}),l=new FontIcon({props:{icon:e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"}}),{c(){create_component(t.$$.fragment),n=space(),o=element("span"),r=text$1(e[1]),i=text$1(" ("),a=text$1(e[4]),s=text$1(")"),c=space(),create_component(l.$$.fragment),attr(o,"class","switch svelte-1muj49d")},m(e,d){mount_component(t,e,d),insert(e,n,d),insert(e,o,d),append(o,r),append(o,i),append(o,a),append(o,s),insert(e,c,d),mount_component(l,e,d),u=!0},p(e,n){const o={};1&n&&(o.icon=e[0]),t.$set(o),(!u||2&n)&&set_data(r,e[1]),(!u||16&n)&&set_data(a,e[4]);const i={};40&n&&(i.icon=e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"),l.$set(i)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1B(e){let t,n,o=e[4]>0&&create_if_block$J(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[4]>0?o?(o.p(e,n),16&n&&transition_in(o,1)):(o=create_if_block$J(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$1z(e,t,n){let o,r=noop$3,i=()=>(r(),r=subscribe(c,(e=>n(5,o=e))),c);e.$$.on_destroy.push((()=>r()));let{icon:a}=t,{label:s}=t,{values:c}=t;i();let{field:l}=t,{count:u}=t;return e.$$set=e=>{"icon"in e&&n(0,a=e.icon),"label"in e&&n(1,s=e.label),"values"in e&&i(n(2,c=e.values)),"field"in e&&n(3,l=e.field),"count"in e&&n(4,u=e.count)},[a,s,c,l,u,o,()=>{set_store_value(c,o={...o,[l]:!o[l]},o)}]}class RowsFilterSwitcher extends SvelteComponent{constructor(e){super(),init(this,e,instance$1z,create_fragment$1B,safe_not_equal,{icon:0,label:1,values:2,field:3,count:4})}}function create_fragment$1A(e){let t,n;const o=[e[2],{options:e[0]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=5&n?get_spread_update(o,[4&n&&get_spread_object(e[2]),1&n&&{options:e[0]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1y(e,t,n){let o,r;const i=["allowChooseModel","direction"];let a,s=compute_rest_props(t,i),c=noop$3;e.$$.on_destroy.push((()=>c()));let{allowChooseModel:l=!1}=t,{direction:u}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,s=compute_rest_props(t,i)),"allowChooseModel"in e&&n(3,l=e.allowChooseModel),"direction"in e&&n(4,u=e.direction)},e.$$.update=()=>{56&e.$$.dirty&&n(0,r=[...l?[{label:"(DB Model)",value:"__model"}]:[],..._.sortBy((a||[]).filter((e=>"target"!=u||!e.isReadOnly)).map((e=>({value:e._id,label:getConnectionLabel(e)}))),"label")])},n(1,o=useConnectionList()),c(),c=subscribe(o,(e=>n(5,a=e))),[r,o,s,l,u,a]}class FormConnectionSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1y,create_fragment$1A,safe_not_equal,{allowChooseModel:3,direction:4})}}function create_fragment$1z(e){let t,n;const o=[e[3],{options:e[0]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1x(e,t,n){let o,r;const i=["conidName"];let a,s,c=compute_rest_props(t,i),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t;const{values:d}=getFormContext();return component_subscribe(e,d,(e=>n(6,s=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,c=compute_rest_props(t,i)),"conidName"in e&&n(4,u=e.conidName)},e.$$.update=()=>{80&e.$$.dirty&&(n(1,o=useDatabaseList({conid:s&&s[u]})),l(),l=subscribe(o,(e=>n(5,a=e)))),32&e.$$.dirty&&n(0,r=_.sortBy((a||[]).map((e=>({value:e.name,label:e.name}))),"label"))},[r,o,d,c,u,a,s]}class FormDatabaseSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1x,create_fragment$1z,safe_not_equal,{conidName:4})}}function get_each_context$h(e,t,n){const o=e.slice();return o[46]=t[n],o}function create_else_block$k(e){let t,n;return t=new FormDatabaseSelect({props:{conidName:"sourceConid",name:"sourceDatabase",label:"Source database",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$I(e){let t,n;return t=new FormSelectField({props:{name:"sourceDatabase",label:"Source DB model",templateProps:{noMargin:!0},isNative:!0,options:(e[13]||[]).map(func$6),notSelected:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8192&n[0]&&(o.options=(e[13]||[]).map(func$6)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$a(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon arrow-right-bold"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n Deploy (experimental)"),attr(t,"class","arrow svelte-lmwisg")},m(e,i){insert(e,t,i),mount_component(n,t,null),insert(e,o,i),r=!0},p:noop$3,i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(o)}}}function create_each_block$h(e){let t,n;function o(...t){return e[36](e[46],...t)}return t=new RowsFilterSwitcher({props:{icon:lib$4.DbDiffCompareDefs[e[46]].icon,label:lib$4.DbDiffCompareDefs[e[46]].plural,values:e[15],field:"hide_"+e[46],count:filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};96&r[0]&&(i.count=filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$h(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,$,b,v,y,x,w,C,k,S,T,E,A,D,N;o=new FormConnectionSelect({props:{name:"sourceConid",label:"Source server",templateProps:{noMargin:!0},isNative:!0,allowChooseModel:!0,notSelected:!0}});const I=[create_if_block$I,create_else_block$k],R=[];function O(e,t){return"__model"==e[6]?.sourceConid?0:1}function F(t){e[35](t)}a=O(e),s=R[a]=I[a](e),u=new InlineButton({props:{$$slots:{default:[create_default_slot_3$a]},$$scope:{ctx:e}}}),u.$on("click",e[0]),m=new FormConnectionSelect({props:{name:"targetConid",label:"Target server",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}}),g=new FormDatabaseSelect({props:{conidName:"targetConid",name:"targetDatabase",label:"Target database",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}});let M={placeholder:"Search tables or objects"};void 0!==e[2]&&(M.value=e[2]),v=new SearchInput({props:M}),binding_callbacks.push((()=>bind(v,"value",F))),w=new RowsFilterSwitcher({props:{icon:"img add",label:"Added",values:e[15],field:"hideAdded",count:filterDiffRowsByFlag(e[5].filter(func_1$5),e[6],"added").length}}),k=new RowsFilterSwitcher({props:{icon:"img minus",label:"Removed",values:e[15],field:"hideRemoved",count:filterDiffRowsByFlag(e[5].filter(func_2$4),e[6],"removed").length}}),T=new RowsFilterSwitcher({props:{icon:"img changed",label:"Changed",values:e[15],field:"hideChanged",count:filterDiffRowsByFlag(e[5].filter(func_3$1),e[6],"changed").length}}),A=new RowsFilterSwitcher({props:{icon:"img equal",label:"Equal",values:e[15],field:"hideEqual",count:filterDiffRowsByFlag(e[5].filter(func_4),e[6],"equal").length}});let L=_.keys(lib$4.DbDiffCompareDefs),P=[];for(let t=0;t<L.length;t+=1)P[t]=create_each_block$h(get_each_context$h(e,L,t));const j=e=>transition_out(P[e],1,1,(()=>{P[e]=null}));return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),s.c(),c=space(),l=element("div"),create_component(u.$$.fragment),d=space(),p=element("div"),create_component(m.$$.fragment),h=space(),f=element("div"),create_component(g.$$.fragment),$=space(),b=element("div"),create_component(v.$$.fragment),x=space(),create_component(w.$$.fragment),C=space(),create_component(k.$$.fragment),S=space(),create_component(T.$$.fragment),E=space(),create_component(A.$$.fragment),D=space();for(let e=0;e<P.length;e+=1)P[e].c();attr(n,"class","col-3"),attr(i,"class","col-3"),attr(l,"class","deployButton svelte-lmwisg"),attr(p,"class","col-3"),attr(f,"class","col-3"),attr(t,"class","topbar svelte-lmwisg"),attr(b,"class","filters svelte-lmwisg")},m(e,s){insert(e,t,s),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),R[a].m(i,null),append(t,c),append(t,l),mount_component(u,l,null),append(t,d),append(t,p),mount_component(m,p,null),append(t,h),append(t,f),mount_component(g,f,null),insert(e,$,s),insert(e,b,s),mount_component(v,b,null),append(b,x),mount_component(w,b,null),append(b,C),mount_component(k,b,null),append(b,S),mount_component(T,b,null),append(b,E),mount_component(A,b,null),append(b,D);for(let e=0;e<P.length;e+=1)P[e].m(b,null);N=!0},p(e,t){let n=a;a=O(e),a===n?R[a].p(e,t):(group_outros(),transition_out(R[n],1,1,(()=>{R[n]=null})),check_outros(),s=R[a],s?s.p(e,t):(s=R[a]=I[a](e),s.c()),transition_in(s,1),s.m(i,null));const o={};262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),u.$set(o);const r={};!y&&4&t[0]&&(y=!0,r.value=e[2],add_flush_callback((()=>y=!1))),v.$set(r);const c={};96&t[0]&&(c.count=filterDiffRowsByFlag(e[5].filter(func_1$5),e[6],"added").length),w.$set(c);const l={};96&t[0]&&(l.count=filterDiffRowsByFlag(e[5].filter(func_2$4),e[6],"removed").length),k.$set(l);const d={};96&t[0]&&(d.count=filterDiffRowsByFlag(e[5].filter(func_3$1),e[6],"changed").length),T.$set(d);const p={};if(96&t[0]&&(p.count=filterDiffRowsByFlag(e[5].filter(func_4),e[6],"equal").length),A.$set(p),32864&t[0]){let n;for(L=_.keys(lib$4.DbDiffCompareDefs),n=0;n<L.length;n+=1){const o=get_each_context$h(e,L,n);P[n]?(P[n].p(o,t),transition_in(P[n],1)):(P[n]=create_each_block$h(o),P[n].c(),transition_in(P[n],1),P[n].m(b,null))}for(group_outros(),n=L.length;n<P.length;n+=1)j(n);check_outros()}},i(e){if(!N){transition_in(o.$$.fragment,e),transition_in(s),transition_in(u.$$.fragment,e),transition_in(m.$$.fragment,e),transition_in(g.$$.fragment,e),transition_in(v.$$.fragment,e),transition_in(w.$$.fragment,e),transition_in(k.$$.fragment,e),transition_in(T.$$.fragment,e),transition_in(A.$$.fragment,e);for(let e=0;e<L.length;e+=1)transition_in(P[e]);N=!0}},o(e){transition_out(o.$$.fragment,e),transition_out(s),transition_out(u.$$.fragment,e),transition_out(m.$$.fragment,e),transition_out(g.$$.fragment,e),transition_out(v.$$.fragment,e),transition_out(w.$$.fragment,e),transition_out(k.$$.fragment,e),transition_out(T.$$.fragment,e),transition_out(A.$$.fragment,e),P=P.filter(Boolean);for(let e=0;e<P.length;e+=1)transition_out(P[e]);N=!1},d(e){e&&detach(t),destroy_component(o),R[a].d(),destroy_component(u),destroy_component(m),destroy_component(g),e&&detach($),e&&detach(b),destroy_component(v),destroy_component(w),destroy_component(k),destroy_component(T),destroy_component(A),destroy_each(P,e)}}}function create__1_slot_3(e){let t,n,o,r,i;function a(...t){return e[37](e[45],...t)}return{c(){t=element("input"),attr(t,"type","checkbox"),attr(t,"slot","1"),t.disabled=n="equal"==e[45].state,t.checked=o=!!e[6][`isChecked_${e[45].identifier}`]},m(e,n){insert(e,t,n),r||(i=listen(t,"change",a),r=!0)},p(r,i){e=r,16384&i[1]&&n!==(n="equal"==e[45].state)&&(t.disabled=n),64&i[0]|16384&i[1]&&o!==(o=!!e[6][`isChecked_${e[45].identifier}`])&&(t.checked=o)},d(e){e&&detach(t),r=!1,i()}}}function create_default_slot_1$o(e){let t,n;return t=new FontIcon({props:{icon:"icon check-all"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_3(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot_1$o]},$$scope:{ctx:e}}}),t.$on("click",e[14]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot_1(e){let t,n,o,r,i=e[45].typeName+"";return t=new FontIcon({props:{icon:e[45].typeIcon}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(i)},m(e,i){mount_component(t,e,i),insert(e,n,i),insert(e,o,i),r=!0},p(e,n){const a={};16384&n[1]&&(a.icon=e[45].typeIcon),t.$set(a),(!r||16384&n[1])&&i!==(i=e[45].typeName+"")&&set_data(o,i)},i(e){r||(transition_in(t.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__1_slot_2(e){let t,n,o,r,i,a,s;function c(t){e[38](t)}n=new FormProviderCore({props:{values:e[15],$$slots:{default:[create_default_slot_2$h]},$$scope:{ctx:e}}});let l={rows:e[4],selectable:!0,disableFocusOutline:!0,columns:[{fieldName:"isChecked",header:"",width:"50px",slot:1,headerSlot:2},{fieldName:"type",header:"Type",width:"100px",slot:3},{fieldName:"sourceSchemaName",header:"Schema"},{fieldName:"sourcePureName",header:"Name"},{fieldName:"state",header:"Action",width:"100px"},{fieldName:"targetSchemaName",header:"Schema"},{fieldName:"targetPureName",header:"Name"}],$$slots:{3:[create__3_slot_1,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]],2:[create__2_slot_3],1:[create__1_slot_3,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]]},$$scope:{ctx:e}};return void 0!==e[1]&&(l.selectedIndex=e[1]),i=new ScrollableTableControl({props:l}),binding_callbacks.push((()=>bind(i,"selectedIndex",c))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),attr(r,"class","tableWrapper svelte-lmwisg"),attr(t,"slot","1"),attr(t,"class","flexcol svelte-lmwisg")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),s=!0},p(e,t){const o={};8292&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};16&t[0]&&(r.rows=e[4]),64&t[0]|278528&t[1]&&(r.$$scope={dirty:t,ctx:e}),!a&&2&t[0]&&(a=!0,r.selectedIndex=e[1],add_flush_callback((()=>a=!1))),i.$set(r)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i)}}}function create__1_slot_1(e){let t,n;return t=new DiffView({props:{leftTitle:e[4][e[1]]?.target?.pureName,rightTitle:e[4][e[1]]?.source?.pureName,leftText:lib$4.getCreateObjectScript(e[4][e[1]]?.target,e[3]),rightText:lib$4.getCreateObjectScript(e[4][e[1]]?.source,e[3])}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};18&n[0]&&(o.leftTitle=e[4][e[1]]?.target?.pureName),18&n[0]&&(o.rightTitle=e[4][e[1]]?.source?.pureName),26&n[0]&&(o.leftText=lib$4.getCreateObjectScript(e[4][e[1]]?.target,e[3])),26&n[0]&&(o.rightText=lib$4.getCreateObjectScript(e[4][e[1]]?.source,e[3])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_2(e){let t,n;return t=new SqlEditor({props:{readOnly:!0,value:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n[0]&&(o.value=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$3(e){let t,n;return{c(){t=element("input"),attr(t,"type","checkbox"),t.disabled=!0,attr(t,"slot","1"),t.checked=n=!!e[45].sourceNotNull},m(e,n){insert(e,t,n)},p(e,o){16384&o[1]&&n!==(n=!!e[45].sourceNotNull)&&(t.checked=n)},d(e){e&&detach(t)}}}function create__2_slot_1(e){let t,n;return{c(){t=element("input"),attr(t,"type","checkbox"),t.disabled=!0,attr(t,"slot","2"),t.checked=n=!!e[45].targetNotNull},m(e,n){insert(e,t,n)},p(e,o){16384&o[1]&&n!==(n=!!e[45].targetNotNull)&&(t.checked=n)},d(e){e&&detach(t)}}}function create__3_slot(e){let t,n;return t=new ScrollableTableControl({props:{rows:e[9],disableFocusOutline:!0,columns:[{fieldName:"sourceColumnName",header:"Name",width:"100px"},{fieldName:"sourceDataType",header:"Type"},{fieldName:"sourceNotNull",header:"Not null",slot:1},{fieldName:"state",header:"Action",width:"100px"},{fieldName:"targetColumnName",header:"Schema"},{fieldName:"targetDataType",header:"Name"},{fieldName:"targetNotNull",header:"Not null",slot:2}],$$slots:{2:[create__2_slot_1,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]],1:[create__1_slot$3,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n[0]&&(o.rows=e[9]),278528&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$3(e){let t,n;return t=new TabControl({props:{tabs:[{label:"DDL",slot:1},{label:"Synchronize script",slot:2},{label:"Columns",slot:3}],$$slots:{3:[create__3_slot],2:[create__2_slot_2],1:[create__1_slot_1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};794&n[0]|262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$B(e){let t,n,o,r,i;return n=new VerticalSplitter({props:{$$slots:{2:[create__2_slot$3],1:[create__1_slot_2]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-lmwisg")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=action_destroyer(contextMenu.call(null,t,e[16])),r=!0)},p(e,t){const o={};9086&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_toolstrip_slot$2(e){let t,n,o,r,i,a,s,c;return t=new ToolStripCommandButton({props:{command:"compareModels.reportDiff"}}),o=new ToolStripCommandButton({props:{command:"compareModels.swap"}}),i=new ToolStripCommandButton({props:{command:"compareModels.deploy"}}),s=new ToolStripCommandButton({props:{command:"compareModels.refresh"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p:noop$3,i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_fragment$1y(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$2],default:[create_default_slot$B]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9086&n[0]|262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$2=()=>getActiveComponent("CompareModelTab");function stateOrder(e){switch(e){case"added":return 1;case"changed":return 2;case"removed":return 3;case"equal":return 4}return 5}function getAlterObjectScript(e,t,n,o,r,i){if(!t&&!n||!i)return{sql:""};if("tables"==e)return lib$4.getAlterTableScript(t,n,o,r,r,i);const a=i.createDumper();return t&&a.dropSqlObject(t),n&&a.createSqlObject(n),{sql:a.s}}function filterDiffRowsByFlag(e,t,n=null){let o=e;"added"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideAdded)||"added"!=e.state))),"removed"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideRemoved)||"removed"!=e.state))),"changed"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideChanged)||"changed"!=e.state))),"equal"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideEqual)||"equal"!=e.state)));for(const e of _.keys(lib$4.DbDiffCompareDefs))n!=e&&t&&t[`hide_${e}`]&&(o=o.filter((t=>t.objectTypeField!=e)));return o}function filterDiffRows(e,t,n){let o=e.filter((e=>lib$4.filterName(n,e.sourcePureName,e.targetPureName)));return o=filterDiffRowsByFlag(e,t),o}registerCommand({id:"compareModels.reportDiff",category:"Compare models",toolbarName:"Report",name:"Report diff",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$2().showReport(),testEnabled:()=>null!=getCurrentEditor$2()}),registerCommand({id:"compareModels.swap",category:"Compare models",toolbarName:"Swap",name:"Swap source & target",icon:"icon swap",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$2().swap(),testEnabled:()=>null!=getCurrentEditor$2()}),registerCommand({id:"compareModels.deploy",category:"Compare models",toolbarName:"Deploy",name:"Deploy",icon:"icon deploy",group:"save",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$2().deploy(),testEnabled:()=>null!=getCurrentEditor$2()}),registerCommand({id:"compareModels.refresh",category:"Compare models",toolbarName:"Refresh",name:"Refresh models",icon:"icon reload",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$2().refreshModels(),testEnabled:()=>null!=getCurrentEditor$2()});const func$6=e=>({label:e.name,value:`archive:${e.name}`}),func_1$5=e=>"added"==e.state,func_2$4=e=>"removed"==e.state,func_3$1=e=>"changed"==e.state,func_4=e=>"equal"==e.state;function instance$1w(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f,g,$,b,v,y,x,w=noop$3,C=noop$3,k=noop$3,S=noop$3;component_subscribe(e,extensions,(e=>n(31,$=e))),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k())),e.$$.on_destroy.push((()=>S()));var T,E,A,D,N,I=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:R}=t,O=0,F="";const M=createActivator("CompareModelTab",!0);const{editorState:L,editorValue:P,setEditorData:j}=useEditorData({tabid:R}),B=Object.assign(Object.assign({},P),{update:j,set:j});component_subscribe(e,B,(e=>n(6,g=e))),registerMenu({command:"compareModels.deploy"},{divider:!0},{command:"compareModels.refresh"},{command:"compareModels.swap"},{divider:!0},{command:"compareModels.reportDiff"});const q=getContextMenu();return e.$$set=e=>{"tabid"in e&&n(17,R=e.tabid)},e.$$.update=()=>{64&e.$$.dirty[0]&&n(29,o="__model"==(null==g?void 0:g.sourceConid)?lib$4.modelCompareDbDiffOptions:{}),64&e.$$.dirty[0]&&(n(12,r=useDatabaseInfo({conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})),k(),k=subscribe(r,(e=>n(34,y=e)))),64&e.$$.dirty[0]&&(n(11,i=useDatabaseInfo({conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})),C(),C=subscribe(i,(e=>n(33,v=e)))),8&e.$$.dirty[1]&&n(27,a=lib$4.generateDbPairingId(y)),4&e.$$.dirty[1]&&n(28,s=lib$4.generateDbPairingId(v)),64&e.$$.dirty[0]&&(n(10,c=useConnectionInfo({conid:null==g?void 0:g.targetConid})),w(),w=subscribe(c,(e=>n(32,b=e)))),3&e.$$.dirty[1]&&n(3,l=lib$4.findEngineDriver(b,$)),939524096&e.$$.dirty[0]&&n(30,u=lib$4.matchPairedObjects(a,s,o)),1744830472&e.$$.dirty[0]&&n(5,d=_.sortBy(lib$4.computeDbDiffRows(a,u,o,l),(e=>stateOrder(e.state)))),100&e.$$.dirty[0]&&n(4,p=filterDiffRows(d,g,F)),549453850&e.$$.dirty[0]&&n(9,m=lib$4.computeTableDiffColumns(null===n(22,T=p[O])||void 0===T?void 0:T.source,null===n(23,E=p[O])||void 0===E?void 0:E.target,o,l)),922746906&e.$$.dirty[0]&&n(8,h=getAlterObjectScript(null===n(24,A=p[O])||void 0===A?void 0:A.objectTypeField,null===n(25,D=p[O])||void 0===D?void 0:D.target,null===n(26,N=p[O])||void 0===N?void 0:N.source,o,s,l).sql),131136&e.$$.dirty[0]&&changeTab(R,(e=>Object.assign(Object.assign({},e),{title:`${(null==g?void 0:g.sourceDatabase)||"???"}=>${(null==g?void 0:g.targetDatabase)||"???"}`,props:Object.assign(Object.assign({},e.props),{conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})})))},n(7,f=useArchiveFolders()),S(),S=subscribe(f,(e=>n(13,x=e))),[function(){const e=function(){const e=lib$4.DatabaseAnalyser.createEmptyStructure(),t=lib$4.DatabaseAnalyser.createEmptyStructure();for(const n of p.filter((e=>g[`isChecked_${e.identifier}`])))n.source&&e[n.objectTypeField].push(n.source),n.target&&t[n.objectTypeField].push(n.target);return lib$4.getAlterDatabaseScript(t,e,o,s,a,l).sql}();showModal(ConfirmSqlModal,{sql:e,onConfirm:()=>{!function(e){I(this,void 0,void 0,(function*(){const t=null==g?void 0:g.targetConid,n=null==g?void 0:g.targetDatabase,o=yield apiCall("database-connections/run-script",{conid:t,database:n,sql:e}),{errorMessage:r}=o||{};r?showModal(ErrorMessageModal,{title:"Error when saving",message:r}):(set_store_value(B,g=_.omitBy(g,((e,t)=>t.startsWith("isChecked_"))),g),yield apiCall("database-connections/sync-model",{conid:t,database:n}),showSnackbarSuccess("Saved to database"))}))}(e)},engine:l.engine})},O,F,l,p,d,g,f,h,m,c,i,r,x,function(){const e=p.some((e=>g[`isChecked_${e.identifier}`]));set_store_value(B,g=e?_.omitBy(g,((e,t)=>t.startsWith("isChecked_"))):Object.assign(Object.assign({},g),_.fromPairs(p.filter((e=>"equal"!=e.state)).map((e=>[`isChecked_${e.identifier}`,!0])))),g)},B,q,R,M,function(){return I(this,void 0,void 0,(function*(){saveFileToDisk((e=>I(this,void 0,void 0,(function*(){yield apiCall("database-connections/generate-db-diff-report",{filePath:e,sourceConid:null==g?void 0:g.sourceConid,sourceDatabase:null==g?void 0:g.sourceDatabase,targetConid:null==g?void 0:g.targetConid,targetDatabase:null==g?void 0:g.targetDatabase})}))))}))},function(){set_store_value(B,g=Object.assign(Object.assign({},g),{sourceConid:null==g?void 0:g.targetConid,sourceDatabase:null==g?void 0:g.targetDatabase,targetConid:null==g?void 0:g.sourceConid,targetDatabase:null==g?void 0:g.sourceDatabase}),g)},function(){apiCall("database-connections/sync-model",{conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase}),apiCall("database-connections/sync-model",{conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})},T,E,A,D,N,a,s,o,u,$,b,v,y,function(e){F=e,n(2,F)},(e,t)=>t.objectTypeField==e,(e,t)=>{set_store_value(B,g={...g,[`isChecked_${e.identifier}`]:t.target.checked},g)},function(e){O=e,n(1,O)}]}class CompareModelTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1w,create_fragment$1y,safe_not_equal,{tabid:17,activator:18,showReport:19,swap:20,refreshModels:21,deploy:0},null,[-1,-1])}get activator(){return this.$$.ctx[18]}get showReport(){return this.$$.ctx[19]}get swap(){return this.$$.ctx[20]}get refreshModels(){return this.$$.ctx[21]}get deploy(){return this.$$.ctx[0]}}var CompareModelTab$1=Object.freeze({__proto__:null,default:CompareModelTab});function create_else_block$j(e){let t,n,o;return n=new Markdown({props:{source:e[1]||""}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","svelte-skjeqm")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2&t&&(o.source=e[1]||""),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$H(e){let t,n;return t=new LoadingInfo({props:{message:"Loading changelog"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1x(e){let t,n,o,r;const i=[create_if_block$H,create_else_block$j],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const matchingProps$3=[];function instance$1v(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r=!1,i=null;return onMount((()=>{o(void 0,void 0,void 0,(function*(){n(0,r=!0);const e=yield apiCall("config/changelog");n(1,i=e),n(0,r=!1)}))})),[r,i]}class ChangelogTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1v,create_fragment$1x,safe_not_equal,{})}}var ChangelogTab$1=Object.freeze({__proto__:null,default:ChangelogTab,matchingProps:matchingProps$3});function create_if_block_1$o(e){let t,n;return{c(){t=svg_element("polyline"),attr(t,"points",n=`\n ${e[0].x},${e[0].y}\n ${e[1].x},${e[1].y}\n `),attr(t,"class","svelte-j16aco")},m(e,n){insert(e,t,n)},p(e,o){3&o&&n!==(n=`\n ${e[0].x},${e[0].y}\n ${e[1].x},${e[1].y}\n `)&&attr(t,"points",n)},d(e){e&&detach(t)}}}function create_if_block$G(e){let t,n,o,r,i;return{c(){t=svg_element("g"),n=svg_element("polygon"),attr(n,"transform",o=`rotate(${180+180*e[3]/Math.PI})`),attr(n,"points",r=`\n 0,0\n ${arwi},${arhi/2}\n ${arwi},${-arhi/2}\n `),attr(n,"class","svelte-j16aco"),attr(t,"transform",i=`translate(${e[2].x} ${e[2].y})`)},m(e,o){insert(e,t,o),append(t,n)},p(e,r){8&r&&o!==(o=`rotate(${180+180*e[3]/Math.PI})`)&&attr(n,"transform",o),4&r&&i!==(i=`translate(${e[2].x} ${e[2].y})`)&&attr(t,"transform",i)},d(e){e&&detach(t)}}}function create_fragment$1w(e){let t,n,o=e[0]&&e[1]&&create_if_block_1$o(e),r=e[2]&&create_if_block$G(e);return{c(){t=svg_element("svg"),o&&o.c(),n=empty(),r&&r.c(),attr(t,"class","svelte-j16aco")},m(e,i){insert(e,t,i),o&&o.m(t,null),append(t,n),r&&r.m(t,null)},p(e,[i]){e[0]&&e[1]?o?o.p(e,i):(o=create_if_block_1$o(e),o.c(),o.m(t,n)):o&&(o.d(1),o=null),e[2]?r?r.p(e,i):(r=create_if_block$G(e),r.c(),r.m(t,null)):r&&(r.d(1),r=null)},i:noop$3,o:noop$3,d(e){e&&detach(t),o&&o.d(),r&&r.d()}}}const arwi=12,arhi=12;function instance$1u(e,t,n){let{reference:o}=t,{onRemoveReference:r}=t,{onChangeReference:i}=t,{designer:a}=t,{domTables:s}=t,{settings:c}=t,l=null,u=null,d=null,p=0;function m(){const{designerId:e,sourceId:t,targetId:r,columns:i,joinType:a}=o,c=s[t],m=s[r];if(!c||!m)return null;const h=c.getRect(),f=m.getRect();if(!h||!f)return null;n(0,l={x:(h.left+h.right)/2,y:(h.top+h.bottom)/2}),n(1,u={x:(f.left+f.right)/2,y:(f.top+f.bottom)/2}),n(2,d=intersectLineBox(l,u,f)[0]),n(3,p=Math.atan2(u.y-l.y,u.x-l.x))}return e.$$set=e=>{"reference"in e&&n(4,o=e.reference),"onRemoveReference"in e&&n(5,r=e.onRemoveReference),"onChangeReference"in e&&n(6,i=e.onChangeReference),"designer"in e&&n(7,a=e.designer),"domTables"in e&&n(8,s=e.domTables),"settings"in e&&n(9,c=e.settings)},e.$$.update=()=>{256&e.$$.dirty&&m()},[l,u,d,p,o,r,i,a,s,c,m]}class DiagramDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1u,create_fragment$1w,safe_not_equal,{reference:4,onRemoveReference:5,onChangeReference:6,designer:7,domTables:8,settings:9,recomputePosition:10})}get recomputePosition(){return this.$$.ctx[10]}}function create_fragment$1v(e){let t,n;const o=[e[0],{settings:{showTableCloseButton:!1,allowColumnOperations:!1,allowCreateRefByDrag:!1,allowTableAlias:!1,updateFromDbInfo:!0,useDatabaseReferences:!0,allowScrollColumns:!1,allowAddAllReferences:!0,canArrange:!0,canExport:!0,canSelectColumns:!1,canSelectTables:!0,allowChangeColor:!0,appendTableSystemMenu:!0,customizeStyle:!0,allowDefineVirtualReferences:!0}},{referenceComponent:DiagramDesignerReference}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),o[1],0&n&&{referenceComponent:DiagramDesignerReference}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1t(e,t,n){return e.$$set=e=>{n(0,t=assign(assign({},t),exclude_internal_props(e)))},[t=exclude_internal_props(t)]}class DiagramDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1t,create_fragment$1v,safe_not_equal,{})}}function create_default_slot$A(e){let t,n;return t=new DiagramDesigner({props:{value:e[2].value||{},conid:e[0],database:e[1],onChange:e[3],menu:createMenu}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2].value||{}),1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$1(e){let t,n,o,r,i,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.arrange"}}),o=new ToolStripSaveButton({props:{idPrefix:"diagram"}}),i=new ToolStripCommandButton({props:{command:"diagram.export"}}),s=new ToolStripCommandButton({props:{command:"diagram.undo"}}),l=new ToolStripCommandButton({props:{command:"diagram.redo"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,d){mount_component(t,e,d),insert(e,n,d),mount_component(o,e,d),insert(e,r,d),mount_component(i,e,d),insert(e,a,d),mount_component(s,e,d),insert(e,c,d),mount_component(l,e,d),u=!0},p:noop$3,i(e){u||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1u(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$1],default:[create_default_slot$A]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};524295&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$1=()=>getActiveComponent("DiagramTab");function createMenu(){return[{command:"diagram.save"},{command:"diagram.saveAs"},{command:"designer.arrange"},{command:"diagram.export"},{divider:!0},{command:"diagram.undo"},{command:"diagram.redo"}]}function instance$1s(e,t,n){let o,r,{tabid:i}=t,{conid:a}=t,{database:s}=t,{initialArgs:c}=t;const l=createActivator("DiagramTab",!0);const{editorState:u,editorValue:d,setEditorData:p}=useEditorData({tabid:i,onInitialData:e=>{h({type:"reset",value:e}),invalidateCommands()}});component_subscribe(e,u,(e=>n(15,r=e)));const[m,h]=createUndoReducer({tables:[],references:[]});return component_subscribe(e,m,(e=>n(2,o=e))),e.$$set=e=>{"tabid"in e&&n(6,i=e.tabid),"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database),"initialArgs"in e&&n(7,c=e.initialArgs)},e.$$.update=()=>{4&e.$$.dirty&&p(o.value)},[a,s,o,(e,t)=>{h({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),invalidateCommands()},u,m,i,c,l,function(){return i},function(){return r.value||""},function(){return o.canUndo},function(){h({type:"undo"}),invalidateCommands()},function(){return o.canRedo},function(){h({type:"redo"}),invalidateCommands()}]}registerFileCommands({idPrefix:"diagram",category:"Diagram",getCurrentEditor:getCurrentEditor$1,folder:"diagrams",format:"json",fileExtension:"diagram",undoRedo:!0});class DiagramTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1s,create_fragment$1u,safe_not_equal,{tabid:6,conid:0,database:1,initialArgs:7,activator:8,getTabId:9,getData:10,canUndo:11,undo:12,canRedo:13,redo:14})}get activator(){return this.$$.ctx[8]}get getTabId(){return this.$$.ctx[9]}get getData(){return this.$$.ctx[10]}get canUndo(){return this.$$.ctx[11]}get undo(){return this.$$.ctx[12]}get canRedo(){return this.$$.ctx[13]}get redo(){return this.$$.ctx[14]}}var DiagramTab$1=Object.freeze({__proto__:null,default:DiagramTab});function create_fragment$1t(e){let t,n,o;function r(t){e[8](t)}let i={columns:[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$5)],rows:e[1],onLoadNext:e[3]?null:e[4],selectable:!0,singleLineRow:!0};return void 0!==e[2]&&(i.selectedIndex=e[2]),t=new ScrollableTableControl({props:i}),binding_callbacks.push((()=>bind(t,"selectedIndex",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,[o]){const r={};1&o&&(r.columns=[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$5)]),2&o&&(r.rows=e[1]),8&o&&(r.onLoadNext=e[3]?null:e[4]),!n&&4&o&&(n=!0,r.selectedIndex=e[2],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}const func$5=e=>({fieldName:e.name,header:e.name});function instance$1r(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r,{conid:i}=t,{database:a}=t,{keyInfo:s}=t,{onChangeSelected:c}=t,l=[],u=0,d=!1,p=!1,m=!1;const h=createRef(null);function f(){return o(this,void 0,void 0,(function*(){if(!m)if(d)p=!0;else{d=!0;try{const e=yield apiCall("database-connections/load-key-table-range",{conid:i,database:a,key:s.key,cursor:u,count:10}),t=[...l];for(const n of e.items)s.keyColumn&&t.find((e=>e[s.keyColumn]==n[s.keyColumn]))||t.push(Object.assign({rowNumber:t.length+1},n));n(1,l=t),u=e.cursor,n(3,m=0==u)}finally{d=!1}p&&(p=!1,yield tick(),f())}}))}return onMount((()=>{f()})),e.$$set=e=>{"conid"in e&&n(5,i=e.conid),"database"in e&&n(6,a=e.database),"keyInfo"in e&&n(0,s=e.keyInfo),"onChangeSelected"in e&&n(7,c=e.onChangeSelected)},e.$$.update=()=>{134&e.$$.dirty&&c&&l[r]&&h.get()!=r&&(h.set(r),c(l[r])),e.$$.dirty},[s,l,r,m,f,i,a,c,function(e){r=e,n(2,r)}]}class DbKeyTableControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1r,create_fragment$1t,safe_not_equal,{conid:5,database:6,keyInfo:0,onChangeSelected:7})}}function create_if_block_1$n(e){let t,n;return t=new AceEditor({props:{readOnly:!e[2],value:e[1]&&e[1][e[0].name]}}),t.$on("input",e[5]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.readOnly=!e[2]),3&n&&(o.value=e[1]&&e[1][e[0].name]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$F(e){let t,n,o,r;return o=new JSONTree({props:{value:lib$4.safeJsonParse(e[1][e[0].name])||{error:"Not valid JSON"},expanded:!0}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"class","inner svelte-ouq9eo"),attr(t,"class","outer svelte-ouq9eo")},m(e,i){insert(e,t,i),append(t,n),mount_component(o,n,null),r=!0},p(e,t){const n={};3&t&&(n.value=lib$4.safeJsonParse(e[1][e[0].name])||{error:"Not valid JSON"}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_fragment$1s(e){let t,n,o,r,i,a,s,c,l,u=_.startCase(e[0].name)+"";i=new SelectField({props:{isNative:!0,value:e[3],options:[{label:"Text",value:"text"},{label:"JSON view",value:"json"}]}}),i.$on("change",e[4]);let d="text"==e[3]&&create_if_block_1$n(e),p="json"==e[3]&&create_if_block$F(e);return{c(){t=element("div"),n=element("div"),o=text$1(u),r=space(),create_component(i.$$.fragment),a=space(),s=element("div"),d&&d.c(),c=space(),p&&p.c(),attr(n,"class","colname svelte-ouq9eo"),attr(t,"class","colnamewrap svelte-ouq9eo"),attr(s,"class","colvalue svelte-ouq9eo")},m(e,u){insert(e,t,u),append(t,n),append(n,o),append(t,r),mount_component(i,t,null),insert(e,a,u),insert(e,s,u),d&&d.m(s,null),append(s,c),p&&p.m(s,null),l=!0},p(e,[t]){(!l||1&t)&&u!==(u=_.startCase(e[0].name)+"")&&set_data(o,u);const n={};8&t&&(n.value=e[3]),i.$set(n),"text"==e[3]?d?(d.p(e,t),8&t&&transition_in(d,1)):(d=create_if_block_1$n(e),d.c(),transition_in(d,1),d.m(s,c)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"json"==e[3]?p?(p.p(e,t),8&t&&transition_in(p,1)):(p=create_if_block$F(e),p.c(),transition_in(p,1),p.m(s,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){l||(transition_in(i.$$.fragment,e),transition_in(d),transition_in(p),l=!0)},o(e){transition_out(i.$$.fragment,e),transition_out(d),transition_out(p),l=!1},d(e){e&&detach(t),destroy_component(i),e&&detach(a),e&&detach(s),d&&d.d(),p&&p.d()}}}function instance$1q(e,t,n){let o="text",{column:r}=t,{item:i}=t,{onChangeItem:a=null}=t;return e.$$set=e=>{"column"in e&&n(0,r=e.column),"item"in e&&n(1,i=e.item),"onChangeItem"in e&&n(2,a=e.onChangeItem)},[r,i,a,o,e=>{n(3,o=e.detail)},e=>{a&&a({...i,[r.name]:e.detail})}]}class DbKeyValueDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1q,create_fragment$1s,safe_not_equal,{column:0,item:1,onChangeItem:2})}}function get_each_context$g(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_each_block$g(e){let t,n;return t=new DbKeyValueDetail({props:{item:e[1],column:e[3],onChangeItem:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.item=e[1]),1&n&&(o.column=e[3]),4&n&&(o.onChangeItem=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1r(e){let t,n,o=e[0],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$g(get_each_context$g(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("div");for(let e=0;e<r.length;e+=1)r[e].c();attr(t,"class","props svelte-1hio2dm")},m(e,o){insert(e,t,o);for(let e=0;e<r.length;e+=1)r[e].m(t,null);n=!0},p(e,[n]){if(7&n){let a;for(o=e[0],a=0;a<o.length;a+=1){const i=get_each_context$g(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$g(i),r[a].c(),transition_in(r[a],1),r[a].m(t,null))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function instance$1p(e,t,n){let{dbKeyFields:o}=t,{item:r}=t,{onChangeItem:i=null}=t;return e.$$set=e=>{"dbKeyFields"in e&&n(0,o=e.dbKeyFields),"item"in e&&n(1,r=e.item),"onChangeItem"in e&&n(2,i=e.onChangeItem)},[o,r,i]}class DbKeyItemDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1p,create_fragment$1r,safe_not_equal,{dbKeyFields:0,item:1,onChangeItem:2})}}function create_default_slot_1$n(e){let t,n,o;return n=new DbKeyItemDetail({props:{dbKeyFields:e[0].keyType.dbKeyFields,item:e[1],onChangeItem:e[7]}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","container svelte-tt47mf")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};1&t&&(o.dbKeyFields=e[0].keyType.dbKeyFields),2&t&&(o.item=e[1]),2&t&&(o.onChangeItem=e[7]),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_header_slot$6(e){let t;return{c(){t=text$1("Add item")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$5(e){let t,n,o,r;return t=new FormStyledButton({props:{value:"OK"}}),t.$on("click",e[6]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$z(e){let t,n;const o=[e[3]];let r={$$slots:{footer:[create_footer_slot$5],header:[create_header_slot$6],default:[create_default_slot_1$n]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=8&n?get_spread_update(o,[get_spread_object(e[3])]):{};515&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1q(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$z]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};523&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1o(e,t,n){const o=["keyInfo","label","onConfirm"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{keyInfo:a}=t,{label:s}=t,{onConfirm:c}=t,l={};const u=()=>i(void 0,void 0,void 0,(function*(){(yield c(l))&&closeCurrentModal()}));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"keyInfo"in e&&n(0,a=e.keyInfo),"label"in e&&n(4,s=e.label),"onConfirm"in e&&n(5,c=e.onConfirm)},[a,l,u,r,s,c,e=>u(),e=>{n(1,l=e)}]}class DbKeyAddItemModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1o,create_fragment$1q,safe_not_equal,{keyInfo:0,label:4,onConfirm:5})}}function create_catch_block$1(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block$1(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y=e[19].type+"";r=new FontIcon({props:{icon:lib$4.getIconForRedisType(e[19].type),padRight:!0}}),l=new TextField({props:{value:e[0],readOnly:!0}}),d=new FormStyledButton({props:{value:`TTL:${e[19].ttl}`}}),d.$on("click",(function(){return e[14](e[19])}));let x="string"==e[19].type&&create_if_block_2$d(e),w=e[19].keyType?.addMethod&&e[19].keyType?.showItemList&&create_if_block_1$m(e);f=new FormStyledButton({props:{value:"Refresh"}}),f.$on("click",e[7]);const C=[create_if_block$E,create_else_block$i],k=[];function S(e,t){return e[19].keyType?.dbKeyFields&&e[19].keyType?.showItemList?0:1}return $=S(e),b=k[$]=C[$](e),{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=text$1(y),s=space(),c=element("div"),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment),p=space(),x&&x.c(),m=space(),w&&w.c(),h=space(),create_component(f.$$.fragment),g=space(),_=element("div"),b.c(),attr(o,"class","type svelte-1awjfxf"),attr(c,"class","key-name svelte-1awjfxf"),attr(n,"class","top-panel svelte-1awjfxf"),attr(_,"class","content svelte-1awjfxf"),attr(t,"class","container svelte-1awjfxf")},m(e,b){insert(e,t,b),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(o,a),append(n,s),append(n,c),mount_component(l,c,null),append(n,u),mount_component(d,n,null),append(n,p),x&&x.m(n,null),append(n,m),w&&w.m(n,null),append(n,h),mount_component(f,n,null),append(t,g),append(t,_),k[$].m(_,null),v=!0},p(t,o){e=t;const i={};23&o&&(i.icon=lib$4.getIconForRedisType(e[19].type)),r.$set(i),(!v||23&o)&&y!==(y=e[19].type+"")&&set_data(a,y);const s={};1&o&&(s.value=e[0]),l.$set(s);const c={};23&o&&(c.value=`TTL:${e[19].ttl}`),d.$set(c),"string"==e[19].type?x?(x.p(e,o),23&o&&transition_in(x,1)):(x=create_if_block_2$d(e),x.c(),transition_in(x,1),x.m(n,m)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros()),e[19].keyType?.addMethod&&e[19].keyType?.showItemList?w?(w.p(e,o),23&o&&transition_in(w,1)):(w=create_if_block_1$m(e),w.c(),transition_in(w,1),w.m(n,h)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros());let u=$;$=S(e),$===u?k[$].p(e,o):(group_outros(),transition_out(k[u],1,1,(()=>{k[u]=null})),check_outros(),b=k[$],b?b.p(e,o):(b=k[$]=C[$](e),b.c()),transition_in(b,1),b.m(_,null))},i(e){v||(transition_in(r.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),transition_in(x),transition_in(w),transition_in(f.$$.fragment,e),transition_in(b),v=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),transition_out(x),transition_out(w),transition_out(f.$$.fragment,e),transition_out(b),v=!1},d(e){e&&detach(t),destroy_component(r),destroy_component(l),destroy_component(d),x&&x.d(),w&&w.d(),destroy_component(f),k[$].d()}}}function create_if_block_2$d(e){let t,n;return t=new FormStyledButton({props:{value:"Save",disabled:!e[5]}}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=!e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$m(e){let t,n;return t=new FormStyledButton({props:{value:"Add item"}}),t.$on("click",(function(){return e[15](e[19])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(t,n){e=t},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$i(e){let t,n;return t=new AceEditor({props:{value:e[5]||e[19].value}}),t.$on("input",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};55&n&&(o.value=e[5]||e[19].value),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$E(e){let t,n;return t=new VerticalSplitter({props:{$$slots:{2:[create__2_slot$2],1:[create__1_slot$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1048607&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$2(e){let t,n;return t=new DbKeyTableControl({props:{conid:e[1],database:e[2],keyInfo:e[19],onChangeSelected:e[16]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),4&n&&(o.database=e[2]),23&n&&(o.keyInfo=e[19]),8&n&&(o.onChangeSelected=e[16]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$2(e){let t,n;return t=new DbKeyItemDetail({props:{dbKeyFields:e[19].keyType.dbKeyFields,item:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};23&n&&(o.dbKeyFields=e[19].keyType.dbKeyFields),8&n&&(o.item=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_pending_block$1(e){let t,n;return t=new LoadingInfo({props:{message:"Loading key details",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1p(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block$1,then:create_then_block$1,catch:create_catch_block$1,value:19,blocks:[,,,]};return handle_promise(n=apiCall("database-connections/load-key-info",{conid:e[1],database:e[2],key:e[0],refreshToken:e[4]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,[o]){e=t,r.ctx=e,23&o&&n!==(n=apiCall("database-connections/load-key-info",{conid:e[1],database:e[2],key:e[0],refreshToken:e[4]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}const matchingProps$2=["conid","database","isDefaultBrowser"],allowAddToFavorites=e=>!1;function getKeyText(e){const t=e.split(":");return t.length>1?t[t.length-1]:e}function instance$1n(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(13,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:i}=t,{conid:a}=t,{database:s}=t,{key:c}=t,{isDefaultBrowser:l=!1}=t;const u=createActivator("DbKeyDetailTab",!0);let d,p=0,m=null;function h(e){showModal(InputTextModal,{value:e.ttl,label:"New TTL value (-1=key never expires)",header:`Set TTL for key ${e.key}`,onConfirm:t=>r(this,void 0,void 0,(function*(){const n=parseInt(t);_.isNumber(n)&&(n<0?yield apiCall("database-connections/call-method",{conid:a,database:s,method:"persist",args:[e.key]}):yield apiCall("database-connections/call-method",{conid:a,database:s,method:"expire",args:[e.key,n]}),f())}))})}function f(){n(5,m=null),n(4,p+=1)}function g(e){return r(this,void 0,void 0,(function*(){showModal(DbKeyAddItemModal,{keyInfo:e,onConfirm:t=>r(this,void 0,void 0,(function*(){const n=yield apiCall("database-connections/call-method",{conid:a,database:s,method:e.keyType.addMethod,args:[e.key,...e.keyType.dbKeyFields.map((e=>t[e.name]))]});return n.errorMessage?(showModal(ErrorMessageModal,{message:n.errorMessage}),!1):(f(),!0)}))})}))}return e.$$set=e=>{"tabid"in e&&n(10,i=e.tabid),"conid"in e&&n(1,a=e.conid),"database"in e&&n(2,s=e.database),"key"in e&&n(0,c=e.key),"isDefaultBrowser"in e&&n(11,l=e.isDefaultBrowser)},e.$$.update=()=>{8198&e.$$.dirty&&n(0,c=o[`${a}:${s}`]),1025&e.$$.dirty&&changeTab(i,(e=>Object.assign(Object.assign({},e),{title:getKeyText(c)})))},[c,a,s,d,p,m,h,f,function(){return r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"set",args:[c,m]}),f()}))},g,i,l,u,o,e=>h(e),e=>g(e),e=>{n(3,d=e)},e=>{n(5,m=e.detail)}]}class DbKeyDetailTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1n,create_fragment$1p,safe_not_equal,{tabid:10,conid:1,database:2,key:0,isDefaultBrowser:11,activator:12})}get activator(){return this.$$.ctx[12]}}var DbKeyDetailTab$1=Object.freeze({__proto__:null,default:DbKeyDetailTab,matchingProps:matchingProps$2,allowAddToFavorites:allowAddToFavorites});function create_else_block$h(e){let t,n;return t=new LoadingInfo({props:{message:"Loading data..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$D(e){let t,n;return t=new JslDataGrid({props:{jslid:e[0],listenInitializeFile:!0,onCustomGridRefresh:e[2],focusOnVisible:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.jslid=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$y(e){let t,n,o,r;const i=[create_if_block$D,create_else_block$h],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"dataGrid.refresh"}}),o=new ToolStripCommandButton({props:{command:"queryData.stopLoading"}}),i=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[3]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1o(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot],default:[create_default_slot$y]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};262145&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const matchingProps$1=["conid","database","pureName","sql"],getCurrentEditor=()=>getActiveComponent("QueryDataTab");function instance$1m(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const s=createActivator("QueryDataTab",!0);let c,{sql:l}=t,{pureName:u}=t,{schemaName:d}=t,{conid:p}=t,{database:m}=t,h=!1;function f(e,t,o){return a(this,void 0,void 0,(function*(){const r=yield apiCall("sessions/execute-reader",{conid:e,database:t,sql:o,appFolder:d,queryName:u});n(0,c=r.jslid),h=!0}))}const g=createQuickExportHandlerRef();function _(){h=!1,invalidateCommands()}return onDestroy((()=>{c&&h&&apiCall("sessions/stop-loading-reader",{jslid:c})})),e.$$set=e=>{"sql"in e&&n(5,l=e.sql),"pureName"in e&&n(6,u=e.pureName),"schemaName"in e&&n(7,d=e.schemaName),"conid"in e&&n(8,p=e.conid),"database"in e&&n(9,m=e.database)},e.$$.update=()=>{800&e.$$.dirty&&f(p,m,l),1&e.$$.dirty&&(n(1,o=useEffect((()=>{return(e=c)?(apiOn(`session-jslid-done-${e}`,_),()=>{apiOff(`session-initialize-file-${e}`,_)}):()=>{};var e}))),i(),i=subscribe(o,(e=>n(12,r=e)))),e.$$.dirty},[c,o,function(){n(0,c=null),f(p,m,l)},g,s,l,u,d,p,m,function(){return h},function(){c&&(apiCall("sessions/stop-loading-reader",{jslid:c}),h=!1,invalidateCommands())},r]}registerCommand({id:"queryData.stopLoading",category:"Query data",name:"Stop loading",icon:"icon stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor())||void 0===e?void 0:e.isLoading()},onClick:()=>getCurrentEditor().stopLoading()});class QueryDataTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1m,create_fragment$1o,safe_not_equal,{activator:4,sql:5,pureName:6,schemaName:7,conid:8,database:9,isLoading:10,stopLoading:11})}get activator(){return this.$$.ctx[4]}get isLoading(){return this.$$.ctx[10]}get stopLoading(){return this.$$.ctx[11]}}var QueryDataTab$1=Object.freeze({__proto__:null,default:QueryDataTab,matchingProps:matchingProps$1});function create_default_slot$x(e){let t;return{c(){t=text$1("Browse")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1n(e){let t,n,o,r,i;const a=[e[5],{value:e[2][e[0]]},{readOnly:!0},{disabled:e[1]}];let s={};for(let e=0;e<a.length;e+=1)s=assign(s,a[e]);return n=new TextField({props:s}),n.$on("click",e[4]),r=new InlineButton({props:{disabled:e[1],$$slots:{default:[create_default_slot$x]},$$scope:{ctx:e}}}),r.$on("click",e[4]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),attr(t,"class","flex")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(r,t,null),i=!0},p(e,[t]){const o=39&t?get_spread_update(a,[32&t&&get_spread_object(e[5]),5&t&&{value:e[2][e[0]]},a[2],2&t&&{disabled:e[1]}]):{};n.$set(o);const i={};2&t&&(i.disabled=e[1]),256&t&&(i.$$scope={dirty:t,ctx:e}),r.$set(i)},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}function instance$1l(e,t,n){const o=["name","disabled"];let r,i=compute_rest_props(t,o);var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{name:s}=t,{disabled:c=!1}=t;const{values:l,setFieldValue:u}=getFormContext();return component_subscribe(e,l,(e=>n(2,r=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(5,i=compute_rest_props(t,o)),"name"in e&&n(0,s=e.name),"disabled"in e&&n(1,c=e.disabled)},[s,c,r,l,function(){return a(this,void 0,void 0,(function*(){const e=getElectron();if(!e)return;const t=yield e.showOpenDialog({defaultPath:l[s],properties:["showHiddenFiles","openFile"],filters:[{name:"All Files",extensions:["*"]}]}),n=t&&t[0];n&&u(s,n)}))},i]}class FormElectronFileSelectorRaw extends SvelteComponent{constructor(e){super(),init(this,e,instance$1l,create_fragment$1n,safe_not_equal,{name:0,disabled:1})}}function create_default_slot$w(e){let t,n;const o=[{name:e[1]},e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormElectronFileSelectorRaw({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=18&n?get_spread_update(o,[2&n&&{name:e[1]},16&n&&get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1m(e){let t,n,o;const r=[{type:"select"},{label:e[0]},e[2]];var i=e[3];function a(e){let t={$$slots:{default:[create_default_slot$w]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=new i(a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,[o]){const s=5&o?get_spread_update(r,[r[0],1&o&&{label:e[0]},4&o&&get_spread_object(e[2])]):{};if(50&o&&(s.$$scope={dirty:o,ctx:e}),i!==(i=e[3])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=new i(a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function instance$1k(e,t,n){const o=["label","name","templateProps"];let r=compute_rest_props(t,o),{label:i}=t,{name:a}=t,{templateProps:s={}}=t;const{template:c}=getFormContext();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,r=compute_rest_props(t,o)),"label"in e&&n(0,i=e.label),"name"in e&&n(1,a=e.name),"templateProps"in e&&n(2,s=e.templateProps)},[i,a,s,c,r]}class FormElectronFileSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$1k,create_fragment$1m,safe_not_equal,{label:0,name:1,templateProps:2})}}function create_if_block$C(e){let t,n;return t=new InlineButton({props:{disabled:e[1],$$slots:{default:[create_default_slot$v]},$$scope:{ctx:e}}}),t.$on("click",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.disabled=e[1]),2048&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$v(e){let t,n;return t=new FontIcon({props:{icon:"icon eye"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1l(e){let t,n,o,r;const i=[e[7],{disabled:e[1]},{value:e[4]?"":e[2]},{placeholder:e[4]?"(Password is encrypted)":void 0},{type:e[4]||e[3]?"text":"password"}];let a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);n=new TextField({props:a}),n.$on("change",e[9]);let s=!e[4]&&create_if_block$C(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),s&&s.c(),attr(t,"class","flex")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),s&&s.m(t,null),r=!0},p(e,[o]){const r=158&o?get_spread_update(i,[128&o&&get_spread_object(e[7]),2&o&&{disabled:e[1]},20&o&&{value:e[4]?"":e[2]},16&o&&{placeholder:e[4]?"(Password is encrypted)":void 0},24&o&&{type:e[4]||e[3]?"text":"password"}]):{};n.$set(r),e[4]?s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros()):s?(s.p(e,o),16&o&&transition_in(s,1)):(s=create_if_block$C(e),s.c(),transition_in(s,1),s.m(t,null))},i(e){r||(transition_in(n.$$.fragment,e),transition_in(s),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(s),r=!1},d(e){e&&detach(t),destroy_component(n),s&&s.d()}}}function instance$1j(e,t,n){let o,r;const i=["name","disabled"];let a,s=compute_rest_props(t,i),{name:c}=t,{disabled:l=!1}=t;const{values:u,setFieldValue:d}=getFormContext();component_subscribe(e,u,(e=>n(8,a=e)));let p=!1;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,s=compute_rest_props(t,i)),"name"in e&&n(0,c=e.name),"disabled"in e&&n(1,l=e.disabled)},e.$$.update=()=>{257&e.$$.dirty&&n(2,o=a[c]),4&e.$$.dirty&&n(4,r=o&&o.startsWith("crypt:"))},[c,l,o,p,r,u,d,s,a,e=>d(c,e.target.value),()=>n(3,p=!p)]}class FormPasswordFieldRaw extends SvelteComponent{constructor(e){super(),init(this,e,instance$1j,create_fragment$1l,safe_not_equal,{name:0,disabled:1})}}function create_default_slot$u(e){let t,n;const o=[{name:e[1]},e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormPasswordFieldRaw({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=18&n?get_spread_update(o,[2&n&&{name:e[1]},16&n&&get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1k(e){let t,n,o;const r=[{type:"text"},{label:e[0]},e[2]];var i=e[3];function a(e){let t={$$slots:{default:[create_default_slot$u]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=new i(a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,[o]){const s=5&o?get_spread_update(r,[r[0],1&o&&{label:e[0]},4&o&&get_spread_object(e[2])]):{};if(50&o&&(s.$$scope={dirty:o,ctx:e}),i!==(i=e[3])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=new i(a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function instance$1i(e,t,n){const o=["label","name","templateProps"];let r=compute_rest_props(t,o),{label:i}=t,{name:a}=t,{templateProps:s={}}=t;const{template:c}=getFormContext();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,r=compute_rest_props(t,o)),"label"in e&&n(0,i=e.label),"name"in e&&n(1,a=e.name),"templateProps"in e&&n(2,s=e.templateProps)},[i,a,s,c,r]}class FormPasswordField extends SvelteComponent{constructor(e){super(),init(this,e,instance$1i,create_fragment$1k,safe_not_equal,{label:0,name:1,templateProps:2})}}function get_each_context$f(e,t,n){const o=e.slice();return o[11]=t[n],o}function create_each_block$f(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[11].label+"";return{c(){t=element("div"),n=element("input"),i=space(),a=element("label"),s=text$1(p),l=space(),attr(n,"type","radio"),n.__value=o=e[11].value,n.value=n.__value,attr(n,"id",r=e[11].id),e[6][0].push(n),attr(a,"for",c=e[11].id)},m(o,r){insert(o,t,r),append(t,n),n.checked=n.__value===e[0],append(t,i),append(t,a),append(a,s),append(t,l),u||(d=listen(n,"change",e[5]),u=!0)},p(e,t){2&t&&o!==(o=e[11].value)&&(n.__value=o,n.value=n.__value),2&t&&r!==(r=e[11].id)&&attr(n,"id",r),1&t&&(n.checked=n.__value===e[0]),2&t&&p!==(p=e[11].label+"")&&set_data(s,p),2&t&&c!==(c=e[11].id)&&attr(a,"for",c)},d(o){o&&detach(t),e[6][0].splice(e[6][0].indexOf(n),1),u=!1,d()}}}function create_fragment$1j(e){let t,n=e[1],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$f(get_each_context$f(e,n,t));return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,n){for(let t=0;t<o.length;t+=1)o[t].m(e,n);insert(e,t,n)},p(e,[r]){if(3&r){let i;for(n=e[1],i=0;i<n.length;i+=1){const a=get_each_context$f(e,n,i);o[i]?o[i].p(a,r):(o[i]=create_each_block$f(a),o[i].c(),o[i].m(t.parentNode,t))}for(;i<o.length;i+=1)o[i].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){destroy_each(o,e),e&&detach(t)}}}function instance$1h(e,t,n){let o,r;var i,a;let{options:s=[]}=t,{name:c}=t;const{values:l,setFieldValue:u}=getFormContext();component_subscribe(e,l,(e=>n(9,r=e)));let d=null!==(i=r[c])&&void 0!==i?i:null===(a=s.find((e=>e.default)))||void 0===a?void 0:a.value;return e.$$set=e=>{"options"in e&&n(3,s=e.options),"name"in e&&n(4,c=e.name)},e.$$.update=()=>{17&e.$$.dirty&&u(c,d),8&e.$$.dirty&&n(1,o=s.map((e=>Object.assign(Object.assign({},e),{id:v1_1$4()}))))},[d,o,l,s,c,function(){d=this.__value,n(0,d)},[[]]]}class FormRadioGroupField extends SvelteComponent{constructor(e){super(),init(this,e,instance$1h,create_fragment$1j,safe_not_equal,{options:3,name:4})}}function create_if_block_16(e){let t,n;return t=new FormElectronFileSelector({props:{label:"Database file",name:"databaseFile",disabled:!e[10]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_15$1(e){let t,n,o;return n=new FormRadioGroupField({props:{name:"useDatabaseUrl",options:[{label:"Fill database connection details",value:"",default:!0},{label:"Use database URL",value:"1"}]}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","radio svelte-1toqt3y")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_14$1(e){let t,n;return t=new FormTextField({props:{label:"Database URL",name:"databaseUrl",placeholder:e[0]?.databaseUrlPlaceholder}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.placeholder=e[0]?.databaseUrlPlaceholder),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_13$2(e){let t,n;return t=new FormSelectField({props:{label:"Authentication",name:"authType",isNative:!0,defaultValue:e[0]?.defaultAuthTypeName,options:e[3].map(func_2$3)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.defaultValue=e[0]?.defaultAuthTypeName),8&n&&(o.options=e[3].map(func_2$3)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10$2(e){let t,n,o,r,i,a,s,c=e[0]?.showConnectionField("port",e[1]),l=getCurrentConfig().isDocker;o=new FormTextField({props:{label:"Server",name:"server",disabled:e[7].includes("server"),templateProps:{noMargin:!0}}});let u=c&&create_if_block_12$2(e),d=l&&create_if_block_11$2();return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),u&&u.c(),i=space(),d&&d.c(),a=empty(),attr(n,"class","col-9 mr-1"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),u&&u.m(t,null),insert(e,i,c),d&&d.m(e,c),insert(e,a,c),s=!0},p(e,n){const r={};128&n&&(r.disabled=e[7].includes("server")),o.$set(r),3&n&&(c=e[0]?.showConnectionField("port",e[1])),c?u?(u.p(e,n),3&n&&transition_in(u,1)):(u=create_if_block_12$2(e),u.c(),transition_in(u,1),u.m(t,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){s||(transition_in(o.$$.fragment,e),transition_in(u),transition_in(d),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(u),transition_out(d),s=!1},d(e){e&&detach(t),destroy_component(o),u&&u.d(),e&&detach(i),d&&d.d(e),e&&detach(a)}}}function create_if_block_12$2(e){let t,n,o;return n=new FormTextField({props:{label:"Port",name:"port",disabled:e[7].includes("port"),templateProps:{noMargin:!0},placeholder:e[0]&&e[0].defaultPort}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-3 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};128&t&&(o.disabled=e[7].includes("port")),1&t&&(o.placeholder=e[0]&&e[0].defaultPort),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_11$2(e){let t,n,o,r;return n=new FontIcon({props:{icon:"img warn",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead"),attr(t,"class","row svelte-1toqt3y")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_7$2(e){let t,n,o,r=e[5]&&create_if_block_9$2(e),i=e[4]&&create_if_block_8$2(e);return{c(){t=element("div"),r&&r.c(),n=space(),i&&i.c(),attr(t,"class","row svelte-1toqt3y")},m(e,a){insert(e,t,a),r&&r.m(t,null),append(t,n),i&&i.m(t,null),o=!0},p(e,o){e[5]?r?(r.p(e,o),32&o&&transition_in(r,1)):(r=create_if_block_9$2(e),r.c(),transition_in(r,1),r.m(t,n)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),e[4]?i?(i.p(e,o),16&o&&transition_in(i,1)):(i=create_if_block_8$2(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){e&&detach(t),r&&r.d(),i&&i.d()}}}function create_if_block_9$2(e){let t,n,o;return n=new FormTextField({props:{label:"User",name:"user",disabled:e[7].includes("user"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};128&t&&(o.disabled=e[7].includes("user")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_8$2(e){let t,n,o;return n=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[7].includes("password"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};128&t&&(o.disabled=e[7].includes("password")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_6$3(e){let t,n;return t=new FormTextField({props:{label:"User",name:"user",disabled:e[7].includes("user")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n&&(o.disabled=e[7].includes("user")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$4(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[7].includes("password")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n&&(o.disabled=e[7].includes("password")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$7(e){let t,n;return t=new FormSelectField({props:{label:"Password mode",isNative:!0,name:"passwordMode",defaultValue:"saveEncrypted",options:[{value:"saveEncrypted",label:"Save and encrypt"},{value:"saveRaw",label:"Save raw (UNSAFE!!)"}]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$9(e){let t,n;return t=new FormCheckboxField({props:{label:"Is read only",name:"isReadOnly"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$c(e){let t,n;return t=new FormTextField({props:{label:"Default database",name:"defaultDatabase"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$l(e){let t,n;return t=new FormCheckboxField({props:{label:`Use only database ${e[6]}`,name:"singleDatabase"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};64&n&&(o.label=`Use only database ${e[6]}`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$B(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"Display name",name:"displayName",templateProps:{noMargin:!0}}}),a=new FormColorField({props:{useSelector:!0,label:"Color",name:"connectionColor",emptyLabel:"(not selected)",templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6 mr-1"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_fragment$1i(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_=e[0]?.showConnectionField("databaseFile",e[1]),$=e[0]?.showConnectionField("useDatabaseUrl",e[1]),b=e[0]?.showConnectionField("databaseUrl",e[1]),v=e[3]&&e[0]?.showConnectionField("authType",e[1]),y=e[0]?.showConnectionField("server",e[1]),x=!e[7].includes("password")&&e[4],w=e[0]?.showConnectionField("isReadOnly",e[1]),C=e[0]?.showConnectionField("defaultDatabase",e[1]),k=e[6]&&e[0]?.showConnectionField("singleDatabase",e[1]);t=new FormSelectField({props:{label:"Database engine",name:"engine",isNative:!0,options:[{label:"(select driver)",value:""},...e[2].drivers.filter(e[14]).map(func_1$4)]}});let S=_&&create_if_block_16(e),T=$&&create_if_block_15$1(),E=b&&create_if_block_14$1(e),A=v&&create_if_block_13$2(e),D=y&&create_if_block_10$2(e),N=e[5]&&e[4]&&create_if_block_7$2(e),I=e[5]&&!e[4]&&create_if_block_6$3(e),R=!e[5]&&e[4]&&create_if_block_5$4(e),O=x&&create_if_block_4$7(),F=w&&create_if_block_3$9(),M=C&&create_if_block_2$c(),L=k&&create_if_block_1$l(e),P=e[0]&&create_if_block$B();return{c(){create_component(t.$$.fragment),n=space(),S&&S.c(),o=space(),T&&T.c(),r=space(),E&&E.c(),i=space(),A&&A.c(),a=space(),D&&D.c(),s=space(),N&&N.c(),c=space(),I&&I.c(),l=space(),R&&R.c(),u=space(),O&&O.c(),d=space(),F&&F.c(),p=space(),M&&M.c(),m=space(),L&&L.c(),h=space(),P&&P.c(),f=empty()},m(e,_){mount_component(t,e,_),insert(e,n,_),S&&S.m(e,_),insert(e,o,_),T&&T.m(e,_),insert(e,r,_),E&&E.m(e,_),insert(e,i,_),A&&A.m(e,_),insert(e,a,_),D&&D.m(e,_),insert(e,s,_),N&&N.m(e,_),insert(e,c,_),I&&I.m(e,_),insert(e,l,_),R&&R.m(e,_),insert(e,u,_),O&&O.m(e,_),insert(e,d,_),F&&F.m(e,_),insert(e,p,_),M&&M.m(e,_),insert(e,m,_),L&&L.m(e,_),insert(e,h,_),P&&P.m(e,_),insert(e,f,_),g=!0},p(e,[n]){const g={};4&n&&(g.options=[{label:"(select driver)",value:""},...e[2].drivers.filter(e[14]).map(func_1$4)]),t.$set(g),3&n&&(_=e[0]?.showConnectionField("databaseFile",e[1])),_?S?(S.p(e,n),3&n&&transition_in(S,1)):(S=create_if_block_16(e),S.c(),transition_in(S,1),S.m(o.parentNode,o)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),3&n&&($=e[0]?.showConnectionField("useDatabaseUrl",e[1])),$?T?3&n&&transition_in(T,1):(T=create_if_block_15$1(),T.c(),transition_in(T,1),T.m(r.parentNode,r)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),3&n&&(b=e[0]?.showConnectionField("databaseUrl",e[1])),b?E?(E.p(e,n),3&n&&transition_in(E,1)):(E=create_if_block_14$1(e),E.c(),transition_in(E,1),E.m(i.parentNode,i)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),11&n&&(v=e[3]&&e[0]?.showConnectionField("authType",e[1])),v?A?(A.p(e,n),11&n&&transition_in(A,1)):(A=create_if_block_13$2(e),A.c(),transition_in(A,1),A.m(a.parentNode,a)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),3&n&&(y=e[0]?.showConnectionField("server",e[1])),y?D?(D.p(e,n),3&n&&transition_in(D,1)):(D=create_if_block_10$2(e),D.c(),transition_in(D,1),D.m(s.parentNode,s)):D&&(group_outros(),transition_out(D,1,1,(()=>{D=null})),check_outros()),e[5]&&e[4]?N?(N.p(e,n),48&n&&transition_in(N,1)):(N=create_if_block_7$2(e),N.c(),transition_in(N,1),N.m(c.parentNode,c)):N&&(group_outros(),transition_out(N,1,1,(()=>{N=null})),check_outros()),e[5]&&!e[4]?I?(I.p(e,n),48&n&&transition_in(I,1)):(I=create_if_block_6$3(e),I.c(),transition_in(I,1),I.m(l.parentNode,l)):I&&(group_outros(),transition_out(I,1,1,(()=>{I=null})),check_outros()),!e[5]&&e[4]?R?(R.p(e,n),48&n&&transition_in(R,1)):(R=create_if_block_5$4(e),R.c(),transition_in(R,1),R.m(u.parentNode,u)):R&&(group_outros(),transition_out(R,1,1,(()=>{R=null})),check_outros()),144&n&&(x=!e[7].includes("password")&&e[4]),x?O?144&n&&transition_in(O,1):(O=create_if_block_4$7(),O.c(),transition_in(O,1),O.m(d.parentNode,d)):O&&(group_outros(),transition_out(O,1,1,(()=>{O=null})),check_outros()),3&n&&(w=e[0]?.showConnectionField("isReadOnly",e[1])),w?F?3&n&&transition_in(F,1):(F=create_if_block_3$9(),F.c(),transition_in(F,1),F.m(p.parentNode,p)):F&&(group_outros(),transition_out(F,1,1,(()=>{F=null})),check_outros()),3&n&&(C=e[0]?.showConnectionField("defaultDatabase",e[1])),C?M?3&n&&transition_in(M,1):(M=create_if_block_2$c(),M.c(),transition_in(M,1),M.m(m.parentNode,m)):M&&(group_outros(),transition_out(M,1,1,(()=>{M=null})),check_outros()),67&n&&(k=e[6]&&e[0]?.showConnectionField("singleDatabase",e[1])),k?L?(L.p(e,n),67&n&&transition_in(L,1)):(L=create_if_block_1$l(e),L.c(),transition_in(L,1),L.m(h.parentNode,h)):L&&(group_outros(),transition_out(L,1,1,(()=>{L=null})),check_outros()),e[0]?P?1&n&&transition_in(P,1):(P=create_if_block$B(),P.c(),transition_in(P,1),P.m(f.parentNode,f)):P&&(group_outros(),transition_out(P,1,1,(()=>{P=null})),check_outros())},i(e){g||(transition_in(t.$$.fragment,e),transition_in(S),transition_in(T),transition_in(E),transition_in(A),transition_in(D),transition_in(N),transition_in(I),transition_in(R),transition_in(O),transition_in(F),transition_in(M),transition_in(L),transition_in(P),g=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(S),transition_out(T),transition_out(E),transition_out(A),transition_out(D),transition_out(N),transition_out(I),transition_out(R),transition_out(O),transition_out(F),transition_out(M),transition_out(L),transition_out(P),g=!1},d(e){destroy_component(t,e),e&&detach(n),S&&S.d(e),e&&detach(o),T&&T.d(e),e&&detach(r),E&&E.d(e),e&&detach(i),A&&A.d(e),e&&detach(a),D&&D.d(e),e&&detach(s),N&&N.d(e),e&&detach(c),I&&I.d(e),e&&detach(l),R&&R.d(e),e&&detach(u),O&&O.d(e),e&&detach(d),F&&F.d(e),e&&detach(p),M&&M.d(e),e&&detach(m),L&&L.d(e),e&&detach(h),P&&P.d(e),e&&detach(f)}}}const func_1$4=e=>({value:e.engine,label:e.title}),func_2$3=e=>({value:e.name,label:e.title});function instance$1g(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f=noop$3;component_subscribe(e,extensions,(e=>n(2,m=e))),e.$$.on_destroy.push((()=>f()));const{values:g}=getFormContext();component_subscribe(e,g,(e=>n(1,p=e)));const _=getElectron();return e.$$.update=()=>{2&e.$$.dirty&&n(13,o=p.authType),2&e.$$.dirty&&n(11,r=p.engine),e.$$.dirty,2048&e.$$.dirty&&(n(8,i=useAuthTypes({engine:r})),f(),f=subscribe(i,(e=>n(3,h=e)))),8200&e.$$.dirty&&n(12,a=h&&h.find((e=>e.name==o))),4096&e.$$.dirty&&n(7,s=(a?a.disabledFields:null)||[]),2052&e.$$.dirty&&n(0,c=m.drivers.find((e=>e.engine==r))),2&e.$$.dirty&&n(6,l=p.defaultDatabase),3&e.$$.dirty&&n(5,u=null==c?void 0:c.showConnectionField("user",p)),3&e.$$.dirty&&n(4,d=null==c?void 0:c.showConnectionField("password",p))},[c,p,m,h,d,u,l,s,i,g,_,r,a,o,e=>!e.isElectronOnly||_]}class ConnectionDriverFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1g,create_fragment$1i,safe_not_equal,{})}}function create_if_block_4$6(e){let t,n;return t=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:!e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.disabled=!e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$8(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:!e[3],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Password",name:"sshPassword",disabled:!e[3],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6"),attr(t,"class","row svelte-10d5vjg")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};8&t&&(n.disabled=!e[3]),o.$set(n);const r={};8&t&&(r.disabled=!e[3]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_if_block_2$b(e){let t,n,o,r,i,a,s;return o=new FormElectronFileSelector({props:{label:"Private key file",name:"sshKeyfile",disabled:!e[3],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Key file passphrase",name:"sshKeyfilePassword",disabled:!e[3],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6"),attr(t,"class","row svelte-10d5vjg")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};8&t&&(n.disabled=!e[3]),o.$set(n);const r={};8&t&&(r.disabled=!e[3]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_if_block$A(e){let t,n,o,r;const i=[create_if_block_1$k,create_else_block$g],a=[];function s(e,t){return e[0]&&e[0].sshAuthSock?0:1}return n=s(e),o=a[n]=i[n](e),{c(){t=element("div"),o.c(),attr(t,"class","ml-3 mb-3")},m(e,o){insert(e,t,o),a[n].m(t,null),r=!0},p(e,r){let c=n;n=s(e),n!==c&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),o=a[n],o||(o=a[n]=i[n](e),o.c()),transition_in(o,1),o.m(t,null))},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){e&&detach(t),a[n].d()}}}function create_else_block$g(e){let t,n,o;return t=new FontIcon({props:{icon:"img error"}}),{c(){create_component(t.$$.fragment),n=text$1(" SSH Agent not found")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_1$k(e){let t,n,o;return t=new FontIcon({props:{icon:"img ok"}}),{c(){create_component(t.$$.fragment),n=text$1(" SSH Agent found")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_fragment$1h(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$;t=new FormCheckboxField({props:{label:"Use SSH tunnel",name:"useSshTunnel"}}),i=new FormTextField({props:{label:"Host",name:"sshHost",disabled:!e[3],templateProps:{noMargin:!0}}}),c=new FormTextField({props:{label:"Port",name:"sshPort",disabled:!e[3],templateProps:{noMargin:!0}}}),u=new FormTextField({props:{label:"Bastion host (Jump host)",name:"sshBastionHost",disabled:!e[3]}}),p=new FormSelectField({props:{label:"SSH Authentication",name:"sshMode",isNative:!0,disabled:!e[3],options:[{value:"userPassword",label:"Username & password"},{value:"agent",label:"SSH agent"},e[5]&&{value:"keyFile",label:"Key file"}]}});let b="userPassword"!=e[1].sshMode&&create_if_block_4$6(e),v="userPassword"==e[1].sshMode&&create_if_block_3$8(e),y="keyFile"==e[1].sshMode&&create_if_block_2$b(e),x=e[3]&&"agent"==e[1].sshMode&&create_if_block$A(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),r=element("div"),create_component(i.$$.fragment),a=space(),s=element("div"),create_component(c.$$.fragment),l=space(),create_component(u.$$.fragment),d=space(),create_component(p.$$.fragment),m=space(),b&&b.c(),h=space(),v&&v.c(),f=space(),y&&y.c(),g=space(),x&&x.c(),_=empty(),attr(r,"class","col-9 mr-1"),attr(s,"class","col-3"),attr(o,"class","row svelte-10d5vjg")},m(e,w){mount_component(t,e,w),insert(e,n,w),insert(e,o,w),append(o,r),mount_component(i,r,null),append(o,a),append(o,s),mount_component(c,s,null),insert(e,l,w),mount_component(u,e,w),insert(e,d,w),mount_component(p,e,w),insert(e,m,w),b&&b.m(e,w),insert(e,h,w),v&&v.m(e,w),insert(e,f,w),y&&y.m(e,w),insert(e,g,w),x&&x.m(e,w),insert(e,_,w),$=!0},p(e,[t]){const n={};8&t&&(n.disabled=!e[3]),i.$set(n);const o={};8&t&&(o.disabled=!e[3]),c.$set(o);const r={};8&t&&(r.disabled=!e[3]),u.$set(r);const a={};8&t&&(a.disabled=!e[3]),p.$set(a),"userPassword"!=e[1].sshMode?b?(b.p(e,t),2&t&&transition_in(b,1)):(b=create_if_block_4$6(e),b.c(),transition_in(b,1),b.m(h.parentNode,h)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"userPassword"==e[1].sshMode?v?(v.p(e,t),2&t&&transition_in(v,1)):(v=create_if_block_3$8(e),v.c(),transition_in(v,1),v.m(f.parentNode,f)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),"keyFile"==e[1].sshMode?y?(y.p(e,t),2&t&&transition_in(y,1)):(y=create_if_block_2$b(e),y.c(),transition_in(y,1),y.m(g.parentNode,g)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),e[3]&&"agent"==e[1].sshMode?x?(x.p(e,t),10&t&&transition_in(x,1)):(x=create_if_block$A(e),x.c(),transition_in(x,1),x.m(_.parentNode,_)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros())},i(e){$||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(u.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in(b),transition_in(v),transition_in(y),transition_in(x),$=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(u.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out(b),transition_out(v),transition_out(y),transition_out(x),$=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),destroy_component(i),destroy_component(c),e&&detach(l),destroy_component(u,e),e&&detach(d),destroy_component(p,e),e&&detach(m),b&&b.d(e),e&&detach(h),v&&v.d(e),e&&detach(f),y&&y.d(e),e&&detach(g),x&&x.d(e),e&&detach(_)}}}function instance$1f(e,t,n){let o,r,i,a,s=noop$3;e.$$.on_destroy.push((()=>s()));const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(1,a=e)));const u=getElectron();return e.$$.update=()=>{2&e.$$.dirty&&n(3,o=a.useSshTunnel),3&e.$$.dirty&&(a.sshMode||l("sshMode","userPassword"),a.sshPort||l("sshPort","22"),!a.sshKeyfile&&i&&l("sshKeyfile",i.defaultKeyfile))},n(2,r=usePlatformInfo()),s(),s=subscribe(r,(e=>n(0,i=e))),[i,a,r,o,c,u]}class ConnectionSshTunnelFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1f,create_fragment$1h,safe_not_equal,{})}}function create_fragment$1g(e){let t,n,o,r,i,a,s,c,l,u,d,p;return t=new FormCheckboxField({props:{label:"Use SSL",name:"useSsl"}}),o=new FormElectronFileSelector({props:{label:"CA Cert (optional)",name:"sslCaFile",disabled:!e[0]||!e[2]}}),i=new FormElectronFileSelector({props:{label:"Certificate (optional)",name:"sslCertFile",disabled:!e[0]||!e[2]}}),s=new FormPasswordField({props:{label:"Certificate key file password (optional)",name:"sslCertFilePassword",disabled:!e[0]||!e[2]}}),l=new FormElectronFileSelector({props:{label:"Key file (optional)",name:"sslKeyFile",disabled:!e[0]||!e[2]}}),d=new FormCheckboxField({props:{label:"Reject unauthorized",name:"sslRejectUnauthorized",disabled:!e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment)},m(e,m){mount_component(t,e,m),insert(e,n,m),mount_component(o,e,m),insert(e,r,m),mount_component(i,e,m),insert(e,a,m),mount_component(s,e,m),insert(e,c,m),mount_component(l,e,m),insert(e,u,m),mount_component(d,e,m),p=!0},p(e,[t]){const n={};1&t&&(n.disabled=!e[0]||!e[2]),o.$set(n);const r={};1&t&&(r.disabled=!e[0]||!e[2]),i.$set(r);const a={};1&t&&(a.disabled=!e[0]||!e[2]),s.$set(a);const c={};1&t&&(c.disabled=!e[0]||!e[2]),l.$set(c);const u={};1&t&&(u.disabled=!e[0]),d.$set(u)},i(e){p||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),p=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),p=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),destroy_component(d,e)}}}function instance$1e(e,t,n){let o,r;const{values:i,setFieldValue:a}=getFormContext();component_subscribe(e,i,(e=>n(3,r=e)));const s=getElectron();return e.$$.update=()=>{8&e.$$.dirty&&n(0,o=r.useSsl)},[o,i,s,r]}class ConnectionSslFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1e,create_fragment$1g,safe_not_equal,{})}}function create_fragment$1f(e){let t,n;const o=e[3].default,r=create_slot(o,e,e[2],null);let i=[e[1]],a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);return{c(){t=element("label"),r&&r.c(),set_attributes(t,a),toggle_class(t,"disabled",e[0]),toggle_class(t,"svelte-1oyc27i",!0)},m(e,o){insert(e,t,o),r&&r.m(t,null),n=!0},p(e,[s]){r&&r.p&&(!n||4&s)&&update_slot_base(r,o,e,e[2],n?get_slot_changes(o,e[2],s,null):get_all_dirty_from_scope(e[2]),null),set_attributes(t,a=get_spread_update(i,[2&s&&e[1]])),toggle_class(t,"disabled",e[0]),toggle_class(t,"svelte-1oyc27i",!0)},i(e){n||(transition_in(r,e),n=!0)},o(e){transition_out(r,e),n=!1},d(e){e&&detach(t),r&&r.d(e)}}}function instance$1d(e,t,n){let{$$slots:o={},$$scope:r}=t,{disabled:i=!1}=t;return e.$$set=e=>{n(1,t=assign(assign({},t),exclude_internal_props(e))),"disabled"in e&&n(0,i=e.disabled),"$$scope"in e&&n(2,r=e.$$scope)},t=exclude_internal_props(t),[i,t,r,o]}class FormStyledButtonLikeLabel extends SvelteComponent{constructor(e){super(),init(this,e,instance$1d,create_fragment$1f,safe_not_equal,{disabled:0})}}function create_default_slot$t(e){let t;return{c(){t=text$1("Upload file")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1e(e){let t,n,o,r,i,a,s;return n=new FormStyledButtonLikeLabel({props:{htmlFor:"uploadFileButton",$$slots:{default:[create_default_slot$t]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("input"),attr(r,"type","file"),attr(r,"id","uploadFileButton"),r.hidden=!0,attr(t,"class","m-1")},m(c,l){insert(c,t,l),mount_component(n,t,null),append(t,o),append(t,r),i=!0,a||(s=listen(r,"change",e[0]),a=!0)},p(e,[t]){const o={};2&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),a=!1,s()}}}function instance$1c(e){return[e=>{uploadFiles([...e.target.files])}]}class UploadButton extends SvelteComponent{constructor(e){super(),init(this,e,instance$1c,create_fragment$1e,safe_not_equal,{})}}function create_default_slot_1$m(e){let t,n;return t=new FormTextField({props:{label:"URL",name:"url",style:{width:"30vw"},focused:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_header_slot$5(e){let t;return{c(){t=text$1("Download imported file from web")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$4(e){let t,n,o,r;return t=new FormSubmit({props:{value:"OK"}}),t.$on("click",e[0]),o=new FormStyledButton({props:{value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$s(e){let t,n;const o=[e[1]];let r={$$slots:{footer:[create_footer_slot$4],header:[create_header_slot$5],default:[create_default_slot_1$m]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=2&n?get_spread_update(o,[get_spread_object(e[1])]):{};8&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1d(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$s]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};10&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1b(e,t,n){const o=["onConfirm"];let r=compute_rest_props(t,o),{onConfirm:i}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(1,r=compute_rest_props(t,o)),"onConfirm"in e&&n(2,i=e.onConfirm)},[e=>{i(e.detail.url),closeCurrentModal()},r,i]}class ChangeDownloadUrlModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1b,create_fragment$1d,safe_not_equal,{onConfirm:2})}}function create_else_block$f(e){let t,n;return t=new UploadButton({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$j(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:"Browse"}}),t.$on("click",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$z(e){let t,n,o,r=e[0].database+"";return{c(){t=text$1("("),n=text$1(r),o=text$1(")")},m(e,r){insert(e,t,r),insert(e,n,r),insert(e,o,r)},p(e,t){1&t&&r!==(r=e[0].database+"")&&set_data(n,r)},d(e){e&&detach(t),e&&detach(n),e&&detach(o)}}}function create_default_slot_1$l(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v=getConnectionLabel(e[0])+"";const y=[create_if_block_1$j,create_else_block$f],x=[];s=function(e,t){return e[5]?0:1}(e),c=x[s]=y[s](e),u=new FormStyledButton({props:{value:"Web URL"}}),u.$on("click",e[6]);p=new FormStyledButton({props:{value:"From files"}}),e[11](p),p.$on("click",e[8]);let w=e[0].database&&create_if_block$z(e);return{c(){t=element("div"),n=element("strong"),n.textContent="Source:",o=space(),r=text$1(e[1]),i=space(),a=element("div"),c.c(),l=space(),create_component(u.$$.fragment),d=space(),create_component(p.$$.fragment),m=space(),h=element("div"),f=element("strong"),f.textContent="Target:",g=space(),_=text$1(v),$=space(),w&&w.c(),attr(t,"class","ml-3 mr-3 mt-3"),attr(a,"class","flex ml-3 mr-3 mb-3"),attr(h,"class","m-3")},m(e,c){insert(e,t,c),append(t,n),append(t,o),append(t,r),insert(e,i,c),insert(e,a,c),x[s].m(a,null),append(a,l),mount_component(u,a,null),append(a,d),mount_component(p,a,null),insert(e,m,c),insert(e,h,c),append(h,f),append(h,g),append(h,_),append(h,$),w&&w.m(h,null),b=!0},p(e,t){(!b||2&t)&&set_data(r,e[1]),c.p(e,t);p.$set({}),(!b||1&t)&&v!==(v=getConnectionLabel(e[0])+"")&&set_data(_,v),e[0].database?w?w.p(e,t):(w=create_if_block$z(e),w.c(),w.m(h,null)):w&&(w.d(1),w=null)},i(e){b||(transition_in(c),transition_in(u.$$.fragment,e),transition_in(p.$$.fragment,e),b=!0)},o(e){transition_out(c),transition_out(u.$$.fragment,e),transition_out(p.$$.fragment,e),b=!1},d(n){n&&detach(t),n&&detach(i),n&&detach(a),x[s].d(),destroy_component(u),e[11](null),destroy_component(p),n&&detach(m),n&&detach(h),w&&w.d()}}}function create_header_slot$4(e){let t;return{c(){t=text$1("Import database dump")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$3(e){let t,n,o,r;return t=new FormSubmit({props:{value:"Run import",disabled:!e[2]}}),t.$on("click",e[10]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const o={};4&n&&(o.disabled=!e[2]),t.$set(o)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$r(e){let t,n;const o=[e[9]];let r={$$slots:{footer:[create_footer_slot$3],header:[create_header_slot$4],default:[create_default_slot_1$l]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=512&n?get_spread_update(o,[get_spread_object(e[9])]):{};16399&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1c(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$r]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};16911&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1a(e,t,n){const o=["connection"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let a,{connection:s}=t,c="(not selected)",l=null;const u=e=>i(void 0,void 0,void 0,(function*(){closeCurrentModal(),importSqlDump(l,s)})),d=getElectron(),p=e=>{n(1,c=`uploaded: ${e.shortName}`),n(2,l=e.filePath)};onMount((()=>(setUploadListener(p),()=>{setUploadListener(null)})));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(9,r=compute_rest_props(t,o)),"connection"in e&&n(0,s=e.connection)},[s,c,l,a,u,d,()=>{showModal(ChangeDownloadUrlModal,{onConfirm:e=>i(void 0,void 0,void 0,(function*(){yield tick(),n(1,c=e),n(2,l=e)}))})},()=>i(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showOpenDialog({properties:["openFile"],filters:[{name:"SQL Files",extensions:["*.sql"]},{name:"All Files",extensions:["*"]}]});if(t&&t[0]){const e=window.require("path");n(2,l=t[0]),n(1,c=e.parse(l).name)}})),function(){return i(this,void 0,void 0,(function*(){const e=a.getBoundingClientRect(),t=e.left,o=e.bottom,r=(yield apiCall("files/list",{folder:"sql"})).map((({file:e})=>({label:e,onClick:()=>i(this,void 0,void 0,(function*(){n(2,l=yield apiCall("files/get-file-real-path",{folder:"sql",file:e})),l&&n(1,c=e)}))})));currentDropDownMenu.set({left:t,top:o,items:r})}))},r,e=>u(e.detail),function(e){binding_callbacks[e?"unshift":"push"]((()=>{a=e,n(3,a)}))}]}class ImportDatabaseDumpModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1a,create_fragment$1c,safe_not_equal,{connection:0})}}function create_if_block_1$i(e){let t,n,o,r=e[0].database+"";return{c(){t=text$1("("),n=text$1(r),o=text$1(")")},m(e,r){insert(e,t,r),insert(e,n,r),insert(e,o,r)},p(e,t){1&t&&r!==(r=e[0].database+"")&&set_data(n,r)},d(e){e&&detach(t),e&&detach(n),e&&detach(o)}}}function create_else_block$e(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:"Set download"}}),t.$on("click",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$y(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:"Browse"}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$k(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$=getConnectionLabel(e[0])+"",b=e[0].database&&create_if_block_1$i(e);const v=[create_if_block$y,create_else_block$e],y=[];return m=function(e,t){return e[4]?0:1}(e),h=y[m]=v[m](e),g=new FormStyledButton({props:{type:"button",value:"Files folder"}}),g.$on("click",e[5]),{c(){t=element("div"),n=element("strong"),n.textContent="Source:",o=space(),r=text$1($),i=space(),b&&b.c(),a=space(),s=element("div"),c=element("strong"),c.textContent="Target:",l=space(),u=text$1(e[1]),d=space(),p=element("div"),h.c(),f=space(),create_component(g.$$.fragment),attr(t,"class","m-3"),attr(s,"class","ml-3 mr-3 mt-3"),attr(p,"class","flex ml-3")},m(e,h){insert(e,t,h),append(t,n),append(t,o),append(t,r),append(t,i),b&&b.m(t,null),insert(e,a,h),insert(e,s,h),append(s,c),append(s,l),append(s,u),insert(e,d,h),insert(e,p,h),y[m].m(p,null),append(p,f),mount_component(g,p,null),_=!0},p(e,n){(!_||1&n)&&$!==($=getConnectionLabel(e[0])+"")&&set_data(r,$),e[0].database?b?b.p(e,n):(b=create_if_block_1$i(e),b.c(),b.m(t,null)):b&&(b.d(1),b=null),(!_||2&n)&&set_data(u,e[1]),h.p(e,n)},i(e){_||(transition_in(h),transition_in(g.$$.fragment,e),_=!0)},o(e){transition_out(h),transition_out(g.$$.fragment,e),_=!1},d(e){e&&detach(t),b&&b.d(),e&&detach(a),e&&detach(s),e&&detach(d),e&&detach(p),y[m].d(),destroy_component(g)}}}function create_header_slot$3(e){let t;return{c(){t=text$1("Export database dump")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$2(e){let t,n,o,r;return t=new FormSubmit({props:{value:"Run export",disabled:!e[2]}}),t.$on("click",e[9]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const o={};4&n&&(o.disabled=!e[2]),t.$set(o)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$q(e){let t,n;const o=[e[8]];let r={$$slots:{footer:[create_footer_slot$2],header:[create_header_slot$3],default:[create_default_slot_1$k]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=256&n?get_spread_update(o,[get_spread_object(e[8])]):{};16391&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1b(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};16647&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$19(e,t,n){const o=["connection"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let a,s,{connection:c}=t,l=null;function u(){return`${c.database}-${format(new Date,"yyyy-MM-dd-hh-mm-ss")}.sql`}onMount((()=>i(void 0,void 0,void 0,(function*(){const e=u();d(e)}))));const d=e=>i(void 0,void 0,void 0,(function*(){const t=yield apiCall("files/get-file-real-path",{folder:"sql",file:e});t&&(n(1,a=`SQL Files folder: ${e}`),n(2,s=t),l=null)})),p=e=>i(void 0,void 0,void 0,(function*(){closeCurrentModal(),exportSqlDump(s,c,c.database,l)})),m=getElectron();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(8,r=compute_rest_props(t,o)),"connection"in e&&n(0,c=e.connection)},[c,a,s,p,m,()=>{showModal(InputTextModal,{value:u(),label:"New file name",header:"Backup/dump database",onConfirm:e=>i(void 0,void 0,void 0,(function*(){yield tick(),d(e)}))})},()=>i(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showSaveDialog({properties:["showOverwriteConfirmation"],filters:[{name:"SQL Files",extensions:["*.sql"]},{name:"All Files",extensions:["*"]}]});if(t&&t[0]){const e=window.require("path");n(2,s=t[0]),n(1,a=e.parse(s).name),l=null}})),()=>i(void 0,void 0,void 0,(function*(){const e=yield apiCall("files/generate-uploads-file",{extension:"sql"});n(2,s=e.filePath),n(1,a="Download"),l=e.fileName})),r,e=>p(e.detail)]}class ExportDatabaseDumpModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$19,create_fragment$1b,safe_not_equal,{connection:0})}}function create_fragment$1a(e){let t,n;const o=[e[6],{data:e[0]},{title:e[0].name},{extInfo:e[0].extInfo},{icon:"img database"},{colorMark:e[1]?.connectionColorFactory&&e[1]?.connectionColorFactory({conid:_.get(e[0].connection,"_id"),database:e[0].name},null,null,!1)},{isBold:_.get(e[4],"connection._id")==_.get(e[0].connection,"_id")&&_.get(e[4],"name")==e[0].name},{menu:e[5]},{showPinnedInsteadOfUnpin:e[1]?.showPinnedInsteadOfUnpin},{onPin:e[3]?null:e[8]},{onUnpin:e[3]?e[9]:null}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[10]),t.$on("middleclick",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=123&n?get_spread_update(o,[64&n&&get_spread_object(e[6]),1&n&&{data:e[0]},1&n&&{title:e[0].name},1&n&&{extInfo:e[0].extInfo},o[4],3&n&&{colorMark:e[1]?.connectionColorFactory&&e[1]?.connectionColorFactory({conid:_.get(e[0].connection,"_id"),database:e[0].name},null,null,!1)},17&n&&{isBold:_.get(e[4],"connection._id")==_.get(e[0].connection,"_id")&&_.get(e[4],"name")==e[0].name},32&n&&{menu:e[5]},2&n&&{showPinnedInsteadOfUnpin:e[1]?.showPinnedInsteadOfUnpin},9&n&&{onPin:e[3]?null:e[8]},9&n&&{onUnpin:e[3]?e[9]:null}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$4=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const extractKey$9=e=>e.name;function getDatabaseMenuItems(e,t,n,o,r,i){var a,s,c,l,u,d;const p=filterAppsForDatabase(e,t,r);const m=lib$4.findEngineDriver(e,getExtensions()),h=_.flatten((p||[]).map((e=>e.commands||[]))),f=(null===(a=null==m?void 0:m.databaseEngineTypes)||void 0===a?void 0:a.includes("sql"))||(null===(s=null==m?void 0:m.databaseEngineTypes)||void 0===s?void 0:s.includes("document"));return[{onClick:()=>{openNewTab({title:"Query #",icon:"img sql-file",tooltip:`${getConnectionLabel(e)}\n${t}`,tabComponent:"QueryTab",props:{conid:e._id,database:t}})},text:"New query",isNewQuery:!0},(null===(c=null==m?void 0:m.databaseEngineTypes)||void 0===c?void 0:c.includes("sql"))&&{onClick:()=>{openNewTab({title:"Table #",tooltip:`${getConnectionLabel(e)}\n${t}`,icon:"img table-structure",tabComponent:"TableStructureTab",props:{conid:e._id,database:t}},{editor:{columns:[]}},{forceNewTab:!0})},text:"New table"},(null===(l=null==m?void 0:m.databaseEngineTypes)||void 0===l?void 0:l.includes("document"))&&{onClick:()=>{showModal(InputTextModal,{value:"",label:"New collection name",header:"Create collection",onConfirm:n=>__awaiter$4(this,void 0,void 0,(function*(){const o={conid:e._id,database:t};yield apiCall("database-connections/run-script",Object.assign(Object.assign({},o),{sql:`db.createCollection('${n}')`})),yield apiCall("database-connections/sync-model",o)}))})},text:"New collection"},{divider:!0},f&&!e.isReadOnly&&{onClick:()=>{showModal(ImportExportModal$1,{initialValues:{sourceStorageType:getDefaultFileFormat(n).storageType,targetStorageType:"database",targetConnectionId:e._id,targetDatabaseName:t}})},text:"Import wizard"},f&&{onClick:()=>{showModal(ImportExportModal$1,{initialValues:{targetStorageType:getDefaultFileFormat(n).storageType,sourceStorageType:"database",sourceConnectionId:e._id,sourceDatabaseName:t}})},text:"Export wizard"},(null===(u=null==m?void 0:m.databaseEngineTypes)||void 0===u?void 0:u.includes("sql"))&&{onClick:()=>{showModal(ImportDatabaseDumpModal,{connection:Object.assign(Object.assign({},e),{database:t})})},text:"Restore/import SQL dump"},(null==m?void 0:m.supportsDatabaseDump)&&{onClick:()=>{showModal(ExportDatabaseDumpModal,{connection:Object.assign(Object.assign({},e),{database:t})})},text:"Backup/export SQL dump"},{divider:!0},f&&{onClick:()=>__awaiter$4(this,void 0,void 0,(function*(){const n=yield getDatabaseInfo({conid:e._id,database:t});openNewTab({title:"Diagram #",icon:"img diagram",tabComponent:"DiagramTab",props:{conid:e._id,database:t}},{editor:{tables:n.tables.map((e=>Object.assign(Object.assign({},e),{designerId:`${e.pureName}-${v1_1$4()}`}))),references:[],autoLayout:!0}})})),text:"Show diagram"},f&&{onClick:()=>{showModal(SqlGeneratorModal,{conid:e._id,database:t})},text:"SQL Generator"},f&&{onClick:()=>__awaiter$4(this,void 0,void 0,(function*(){openJsonDocument(yield getDatabaseInfo({conid:e._id,database:t}),t)})),text:"Open model as JSON"},f&&{onClick:()=>__awaiter$4(this,void 0,void 0,(function*(){const n=yield apiCall("database-connections/export-model",{conid:e._id,database:t});currentArchive.set(n.archiveFolder),selectedWidget.set("archive"),showSnackbarSuccess(`Saved to archive ${n.archiveFolder}`)})),text:"Export DB model - experimental"},f&&_.get(o,"connection._id")&&(_.get(o,"connection._id")!=_.get(e,"_id")||_.get(o,"connection._id")==_.get(e,"_id")&&_.get(o,"name")!=_.get(e,"name"))&&{onClick:()=>{openNewTab({title:"Compare",icon:"img compare",tabComponent:"CompareModelTab"},{editor:{sourceConid:_.get(o,"connection._id"),sourceDatabase:_.get(o,"name"),targetConid:_.get(e,"_id"),targetDatabase:t}})},text:`Compare with ${_.get(o,"name")}`},(null===(d=null==m?void 0:m.databaseEngineTypes)||void 0===d?void 0:d.includes("keyvalue"))&&{onClick:()=>__awaiter$4(this,void 0,void 0,(function*(){const n=yield apiCall("database-connections/export-keys",{conid:null==e?void 0:e._id,database:t,options:{keyPrefix:""}});n.errorMessage?showSnackbarError(n.errorMessage):newQuery({title:"Export #",initialData:n})})),text:"Generate script"},(i.includes(e._id)||_.get(o,"connection._id")==_.get(e,"_id")&&_.get(o,"name")==t)&&{onClick:()=>{var n,o,r;getElectron()&&apiCall("database-connections/disconnect",{conid:e._id,database:t}),(null===(o=null===(n=getCurrentDatabase())||void 0===n?void 0:n.connection)||void 0===o?void 0:o._id)==e._id&&(null===(r=getCurrentDatabase())||void 0===r?void 0:r.name)==t&¤tDatabase.set(null),openedSingleDatabaseConnections.update((t=>t.filter((t=>t!=e._id))))},text:"Disconnect"},h.length>0&&[{divider:!0},h.map((n=>({text:n.name,onClick:()=>{showModal(ConfirmSqlModal,{sql:n.sql,onConfirm:()=>function(n){return __awaiter$4(this,void 0,void 0,(function*(){const o=yield apiCall("database-connections/run-script",{conid:e._id,database:t,sql:n}),{errorMessage:r}=o||{};r?showModal(ErrorMessageModal,{title:"Error when executing script",message:r}):showSnackbarSuccess("Saved to database")}))}(n.sql),engine:m.engine})}})))]]}function instance$18(e,t,n){let o,r;const i=["data","passProps"];let a,s,c,l,u,d=compute_rest_props(t,i),p=noop$3;component_subscribe(e,pinnedDatabases,(e=>n(7,a=e))),component_subscribe(e,openedSingleDatabaseConnections,(e=>n(12,s=e))),component_subscribe(e,currentDatabase,(e=>n(4,l=e))),component_subscribe(e,extensions,(e=>n(14,u=e))),e.$$.on_destroy.push((()=>p())),this&&this.__awaiter;let{data:m}=t,{passProps:h}=t;function f(){return getDatabaseMenuItems(m.connection,m.name,u,l,c,s)}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,d=compute_rest_props(t,i)),"data"in e&&n(0,m=e.data),"passProps"in e&&n(1,h=e.passProps)},e.$$.update=()=>{129&e.$$.dirty&&n(3,o=!!a.find((e=>{var t,n;return e.name==m.name&&(null===(t=e.connection)||void 0===t?void 0:t._id)==(null===(n=m.connection)||void 0===n?void 0:n._id)})))},n(2,r=useUsedApps()),p(),p=subscribe(r,(e=>n(13,c=e))),[m,h,r,o,l,f,d,a,()=>pinnedDatabases.update((e=>[...e,m])),()=>pinnedDatabases.update((e=>e.filter((e=>e.name!=m.name||e.connection?._id!=m.connection?._id)))),()=>set_store_value(currentDatabase,l=m,l),()=>{f().find((e=>e.isNewQuery)).onClick()}]}class DatabaseAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$18,create_fragment$1a,safe_not_equal,{data:0,passProps:1})}}var databaseAppObject=Object.freeze({__proto__:null,default:DatabaseAppObject,extractKey:extractKey$9,getDatabaseMenuItems:getDatabaseMenuItems});function getConnectionColor(e,t,n,o,r=!1,i=!0){if(!t||!e)return;const a=e.find((e=>e._id==t.conid)),{database:s}=t;let c=i||!s?null==a?void 0:a.connectionColor:null;const l=((null==a?void 0:a.databases)||[]).find((e=>e.name==s));if((null==l?void 0:l.connectionColor)&&(c=l.connectionColor),!c)return;if(null==o)return c;const u=("dark"==n?presetDarkPalettes:presetPalettes)[c][o];return r?`background:${u}`:u}function useConnectionColor(e,t,n=null,o=!1,r=!0){return derived([useConnectionList(),currentThemeDefinition],(([i,a])=>getConnectionColor(i,e,null!=n?n:null==a?void 0:a.themeType,t,o,r)))}function useConnectionColorFactory(e,t=null,n=!1,o=!0){return derived([useConnectionList(),currentThemeDefinition],(([r,i])=>(a,s=null,c=null,l=null)=>getConnectionColor(r,a,null!=t?t:null==i?void 0:i.themeType,null!=s?s:e,null!=c?c:n,null!=l?l:o)))}function get_each_context$e(e,t,n){const o=e.slice();return o[39]=t[n],o}function get_each_context_1$1(e,t,n){const o=e.slice();return o[42]=t[n],o}function create_if_block$x(e){let t,n;return t=new FontIcon({props:{icon:"icon lock"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block_1$1(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g=e[42].title+"";function _(...t){return e[28](e[42],...t)}function $(...t){return e[29](e[42],...t)}function b(...t){return e[30](e[42],...t)}function v(...t){return e[31](e[42],...t)}function y(...t){return e[32](e[42],...t)}function x(...t){return e[33](e[42],...t)}return n=new FontIcon({props:{icon:e[42].busy?"icon loading":e[42].icon}}),c=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("span"),i=text$1(g),a=space(),s=element("span"),create_component(c.$$.fragment),l=space(),attr(r,"class","file-name svelte-zohj4x"),attr(s,"class","close-button tabCloseButton svelte-zohj4x"),attr(t,"id",u=`file-tab-item-${e[42].tabid}`),attr(t,"class","file-tab-item svelte-zohj4x"),attr(t,"draggable",d=!0),toggle_class(t,"selected",e[1]||e[3]?e[42].tabid==e[2]?.tabid:e[42].selected)},m(u,d){insert(u,t,d),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),append(t,a),append(t,s),mount_component(c,s,null),append(t,l),m=!0,h||(f=[listen(s,"click",_),listen(t,"click",$),listen(t,"mouseup",b),action_destroyer(p=contextMenu.call(null,t,e[13](e[42]))),listen(t,"dragstart",v),listen(t,"dragenter",y),listen(t,"drop",x),listen(t,"dragend",e[34])],h=!0)},p(o,r){e=o;const a={};64&r[0]&&(a.icon=e[42].busy?"icon loading":e[42].icon),n.$set(a),(!m||64&r[0])&&g!==(g=e[42].title+"")&&set_data(i,g),(!m||64&r[0]&&u!==(u=`file-tab-item-${e[42].tabid}`))&&attr(t,"id",u),p&&is_function(p.update)&&64&r[0]&&p.update.call(null,e[13](e[42])),78&r[0]&&toggle_class(t,"selected",e[1]||e[3]?e[42].tabid==e[2]?.tabid:e[42].selected)},i(e){m||(transition_in(n.$$.fragment,e),transition_in(c.$$.fragment,e),m=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(c.$$.fragment,e),m=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(c),h=!1,run_all(f)}}}function create_each_block$e(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v=e[39].tabDbName+"",y=e[0]?.find(x)?.isReadOnly;function x(...t){return e[21](e[39],...t)}r=new FontIcon({props:{icon:getDbIcon(e[39].tabDbKey)}});let w=y&&create_if_block$x();function C(...t){return e[22](e[39],...t)}function k(...t){return e[23](e[39],...t)}function S(...t){return e[24](e[39],...t)}function T(...t){return e[25](e[39],...t)}function E(...t){return e[26](e[39],...t)}u=new FontIcon({props:{icon:"icon close"}});let A=e[39].tabs,D=[];for(let t=0;t<A.length;t+=1)D[t]=create_each_block_1$1(get_each_context_1$1(e,A,t));const N=e=>transition_out(D[e],1,1,(()=>{D[e]=null}));return{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=text$1(v),s=space(),w&&w.c(),c=space(),l=element("div"),create_component(u.$$.fragment),h=space(),f=element("div");for(let e=0;e<D.length;e+=1)D[e].c();g=space(),attr(o,"class","db-name-inner svelte-zohj4x"),attr(l,"class","close-button-right tabCloseButton svelte-zohj4x"),attr(n,"class","db-name svelte-zohj4x"),attr(n,"style",d=e[9](e[39].tabs[0].props,(e[3]?e[39].grpid==e[4]?.grpid:e[39].tabDbKey==e[7])?2:3)),attr(n,"draggable",p=!0),toggle_class(n,"selected",e[3]?e[39].grpid==e[4]?.grpid:e[39].tabDbKey==e[7]),attr(f,"class","db-group svelte-zohj4x"),attr(t,"class","db-wrapper svelte-zohj4x")},m(d,p){insert(d,t,p),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(o,a),append(o,s),w&&w.m(o,null),append(n,c),append(n,l),mount_component(u,l,null),append(t,h),append(t,f);for(let e=0;e<D.length;e+=1)D[e].m(f,null);append(t,g),_=!0,$||(b=[listen(l,"click",C),listen(n,"mouseup",k),action_destroyer(m=contextMenu.call(null,n,getDatabaseContextMenu(e[39].tabs))),listen(n,"dragstart",S),listen(n,"dragenter",T),listen(n,"drop",E),listen(n,"dragend",e[27])],$=!0)},p(t,i){e=t;const s={};if(64&i[0]&&(s.icon=getDbIcon(e[39].tabDbKey)),r.$set(s),(!_||64&i[0])&&v!==(v=e[39].tabDbName+"")&&set_data(a,v),65&i[0]&&(y=e[0]?.find(x)?.isReadOnly),y?w?65&i[0]&&transition_in(w,1):(w=create_if_block$x(),w.c(),transition_in(w,1),w.m(o,null)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros()),(!_||728&i[0]&&d!==(d=e[9](e[39].tabs[0].props,(e[3]?e[39].grpid==e[4]?.grpid:e[39].tabDbKey==e[7])?2:3)))&&attr(n,"style",d),m&&is_function(m.update)&&64&i[0]&&m.update.call(null,getDatabaseContextMenu(e[39].tabs)),216&i[0]&&toggle_class(n,"selected",e[3]?e[39].grpid==e[4]?.grpid:e[39].tabDbKey==e[7]),47182&i[0]){let t;for(A=e[39].tabs,t=0;t<A.length;t+=1){const n=get_each_context_1$1(e,A,t);D[t]?(D[t].p(n,i),transition_in(D[t],1)):(D[t]=create_each_block_1$1(n),D[t].c(),transition_in(D[t],1),D[t].m(f,null))}for(group_outros(),t=A.length;t<D.length;t+=1)N(t);check_outros()}},i(e){if(!_){transition_in(r.$$.fragment,e),transition_in(w),transition_in(u.$$.fragment,e);for(let e=0;e<A.length;e+=1)transition_in(D[e]);_=!0}},o(e){transition_out(r.$$.fragment,e),transition_out(w),transition_out(u.$$.fragment,e),D=D.filter(Boolean);for(let e=0;e<D.length;e+=1)transition_out(D[e]);_=!1},d(e){e&&detach(t),destroy_component(r),w&&w.d(),destroy_component(u),destroy_each(D,e),$=!1,run_all(b)}}}function create_fragment$19(e){let t,n,o,r,i,a,s,c,l=e[6],u=[];for(let t=0;t<l.length;t+=1)u[t]=create_each_block$e(get_each_context$e(e,l,t));const d=e=>transition_out(u[e],1,1,(()=>{u[e]=null}));return i=new FontIcon({props:{icon:"icon add"}}),{c(){t=element("div"),n=element("div");for(let e=0;e<u.length;e+=1)u[e].c();o=space(),r=element("div"),create_component(i.$$.fragment),attr(n,"class","tabs svelte-zohj4x"),attr(r,"class","add-icon svelte-zohj4x"),attr(r,"title","New query"),attr(t,"class","root svelte-zohj4x")},m(l,d){insert(l,t,d),append(t,n);for(let e=0;e<u.length;e+=1)u[e].m(n,null);e[35](n),append(t,o),append(t,r),mount_component(i,r,null),a=!0,s||(c=[listen(n,"wheel",e[16]),listen(r,"click",e[36])],s=!0)},p(e,t){if(64223&t[0]){let o;for(l=e[6],o=0;o<l.length;o+=1){const r=get_each_context$e(e,l,o);u[o]?(u[o].p(r,t),transition_in(u[o],1)):(u[o]=create_each_block$e(r),u[o].c(),transition_in(u[o],1),u[o].m(n,null))}for(group_outros(),o=l.length;o<u.length;o+=1)d(o);check_outros()}},i(e){if(!a){for(let e=0;e<l.length;e+=1)transition_in(u[e]);transition_in(i.$$.fragment,e),a=!0}},o(e){u=u.filter(Boolean);for(let e=0;e<u.length;e+=1)transition_out(u[e]);transition_out(i.$$.fragment,e),a=!1},d(n){n&&detach(t),destroy_each(u,n),e[35](null),destroy_component(i),s=!1,run_all(c)}}}const closeTabFunc=e=>t=>{openedTabs.update((n=>{const o=n.find((e=>e.tabid==t));if(!o)return n;const r=n.map((t=>Object.assign(Object.assign({},t),{closedTime:t.closedTime||(e(t,o)?(new Date).getTime():void 0)})));if(r.find((e=>e.selected&&null==e.closedTime)))return r;const i=_.findLastIndex(r,(e=>null==e.closedTime));return r.map(((e,t)=>Object.assign(Object.assign({},e),{selected:t==i})))}))},closeMultipleTabs=(e,t=!1)=>{openedTabs.update((n=>{const o=t?n.filter((t=>!e(t))):n.map((t=>Object.assign(Object.assign({},t),{closedTime:t.closedTime||(e(t)?(new Date).getTime():void 0)})));if(o.find((e=>e.selected&&null==e.closedTime)))return o;const r=_.findLastIndex(o,(e=>null==e.closedTime));return o.map(((e,t)=>Object.assign(Object.assign({},e),{selected:t==r})))}))},closeTab=closeTabFunc(((e,t)=>e.tabid==t.tabid)),closeAll=()=>{const e=(new Date).getTime();openedTabs.update((t=>t.map((t=>Object.assign(Object.assign({},t),{closedTime:t.closedTime||e,selected:!1})))))},closeTabsWithCurrentDb=()=>{const e=getCurrentDatabase();closeMultipleTabs((t=>{var n,o,r;return(null===(n=null==e?void 0:e.connection)||void 0===n?void 0:n._id)==(null===(o=null==t?void 0:t.props)||void 0===o?void 0:o.conid)&&(null==e?void 0:e.name)==(null===(r=null==t?void 0:t.props)||void 0===r?void 0:r.database)}))},closeTabsButCurrentDb=()=>{const e=getCurrentDatabase();closeMultipleTabs((t=>{var n,o,r;return(null===(n=null==e?void 0:e.connection)||void 0===n?void 0:n._id)!=(null===(o=null==t?void 0:t.props)||void 0===o?void 0:o.conid)||(null==e?void 0:e.name)!=(null===(r=null==t?void 0:t.props)||void 0===r?void 0:r.database)}))},closeCurrentTab=()=>{closeTab(getActiveTabId())},closeWithSameDb=closeTabFunc(((e,t)=>_.get(e,"props.conid")==_.get(t,"props.conid")&&_.get(e,"props.database")==_.get(t,"props.database"))),closeWithOtherDb=closeTabFunc(((e,t)=>_.get(e,"props.conid")!=_.get(t,"props.conid")||_.get(e,"props.database")!=_.get(t,"props.database"))),closeOthers=closeTabFunc(((e,t)=>e.tabid!=t.tabid));function getTabDbName(e,t){if("ConnectionTab"==e.tabComponent)return"Connections";if(e.props&&e.props.conid&&e.props.database)return e.props.database;if(e.props&&e.props.conid){const n=null==t?void 0:t.find((t=>t._id==e.props.conid));return n?getConnectionLabel(n,{allowExplicitDatabase:!1}):"???"}return e.props&&e.props.archiveFolder?e.props.archiveFolder:"(no DB)"}function getDbIcon(e){if(e){if(e.startsWith("database://"))return"icon database";if(e.startsWith("archive://"))return"icon archive";if(e.startsWith("server://"))return"icon server";if(e.startsWith("connections."))return"icon connection"}return"icon file"}function switchTabByOrder(e){const t=_.sortBy(get_store_value(openedTabs).filter((e=>null==e.closedTime)),"tabOrder");e&&t.reverse();const n=t.find((e=>e.selected));if(!n)return;const{tabOrder:o}=n,r=t.filter((t=>e?t.tabOrder<o:t.tabOrder>o))[0]||t[0];r&&setSelectedTab(r.tabid)}function getDatabaseContextMenu(e){const{tabid:t,props:n}=e[0],{conid:o,database:r}=n||{};return[o&&r&&[{text:`Close tabs with DB ${r}`,onClick:()=>closeWithSameDb(t)},{text:`Close tabs with other DB than ${r}`,onClick:()=>closeWithOtherDb(t)}]]}function instance$17(e,t,n){let o,r,i,a,s,c,l,u,d,p=noop$3;component_subscribe(e,openedTabs,(e=>n(18,s=e))),component_subscribe(e,currentDatabase,(e=>n(19,c=e))),component_subscribe(e,activeTabId,(e=>n(20,l=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let h=null,f=null,g=null,$=null;const b=useConnectionColorFactory(3,null,!0);component_subscribe(e,b,(e=>n(9,d=e)));const v=(e,t)=>{e.target.closest(".tabCloseButton")||setSelectedTab(t)},y=(e,t)=>{1==e.button&&(e.preventDefault(),closeTab(t))},x=e=>m(void 0,void 0,void 0,(function*(){const{conid:t,database:n}=e||{};if(t){const e=yield getConnectionInfo({conid:t,database:n});if(e)return void set_store_value(currentDatabase,c={connection:e,name:n},c)}set_store_value(currentDatabase,c=null,c)}));function w(e,t){if(e.find((e=>t.find((t=>e.tabid==t.tabid)))))return;const n=sortTabs(s.filter((e=>null==e.closedTime))),o=t.map((e=>_.findIndex(n,(t=>t.tabid==e.tabid)))),r=_.min(o),i=_.max(o),a=_.findIndex(n,(t=>t.tabid==e[0].tabid));if(a<0||r<0||i<0)return void console.warn("Drag tab index not found");const c=r<a?[...n.slice(0,r),...e,...n.slice(r).filter((t=>!e.find((e=>e.tabid==t.tabid))))]:[...n.slice(0,i+1).filter((t=>!e.find((e=>e.tabid==t.tabid)))),...e,...n.slice(i+1)];openedTabs.update((e=>e.map((e=>{const t=_.findIndex(c,(t=>t.tabid==e.tabid));return t>=0?Object.assign(Object.assign({},e),{tabOrder:t+1}):e}))))}let C;return e.$$.update=()=>{524288&e.$$.dirty[0]&&n(7,r=c&&c.name&&c.connection?`database://${c.name}-${c.connection._id}`:c&&c.connection?`server://${c.connection._id}`:"_no"),262145&e.$$.dirty[0]&&n(17,i=s.filter((e=>!e.closedTime)).map((e=>Object.assign(Object.assign({},e),{tabDbName:getTabDbName(e,u),tabDbKey:getTabDbKey(e)})))),131072&e.$$.dirty[0]&&n(6,a=groupTabs(i)),1048576&e.$$.dirty[0]&&function(e){m(this,void 0,void 0,(function*(){yield tick();const t=document.getElementById(`file-tab-item-${e}`);t&&t.scrollIntoView({block:"nearest",inline:"nearest"})}))}(l)},n(8,o=useConnectionList()),p(),p=subscribe(o,(e=>n(0,u=e))),[u,h,f,g,$,C,a,r,o,d,b,v,y,e=>()=>{const{tabid:t,props:n,tabComponent:o}=e;return[{text:"Close",onClick:()=>closeTab(t)},{text:"Close all",onClick:closeAll},{text:"Close others",onClick:()=>closeOthers(t)},{text:"Duplicate",onClick:()=>duplicateTab(e)},o&&tabs[o]&&tabs[o].allowAddToFavorites&&tabs[o].allowAddToFavorites(n)&&[{divider:!0},{text:"Add to favorites",onClick:()=>showModal(FavoriteModal,{savingTab:e})}]]},x,w,function(e){e.shiftKey||(e.preventDefault(),C.scrollBy({top:0,left:e.deltaY<0?-150:150,behavior:"smooth"}))},i,s,c,l,(e,t)=>t._id==e.tabs[0]?.props?.conid,(e,t)=>closeMultipleTabs((t=>e.tabs.find((e=>e.tabid==t.tabid)))),(e,t)=>{1==t.button?closeMultipleTabs((t=>e.tabs.find((e=>e.tabid==t.tabid)))):x(e.tabs[0].props)},(e,t)=>{n(3,g=e)},(e,t)=>{n(4,$=e)},(e,t)=>{w(g.tabs,e.tabs)},e=>{n(3,g=null),n(4,$=null)},(e,t)=>closeTab(e.tabid),(e,t)=>v(t,e.tabid),(e,t)=>y(t,e.tabid),async(e,t)=>{n(1,h=e),await tick(),setSelectedTab(e.tabid)},(e,t)=>{n(2,f=e)},(e,t)=>{h&&w([h],[e]),g&&w(g.tabs,[e])},e=>{n(1,h=null),n(2,f=null)},function(e){binding_callbacks[e?"unshift":"push"]((()=>{C=e,n(5,C)}))},()=>newQuery({})]}registerCommand({id:"tabs.nextTab",category:"Tabs",name:"Next tab",keyText:"Ctrl+Tab",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=2,onClick:()=>switchTabByOrder(!1)}),registerCommand({id:"tabs.previousTab",category:"Tabs",name:"Previous tab",keyText:"Ctrl+Shift+Tab",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=2,onClick:()=>switchTabByOrder(!0)}),registerCommand({id:"tabs.closeAll",category:"Tabs",name:"Close all tabs",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=1,onClick:closeAll}),registerCommand({id:"tabs.closeTab",category:"Tabs",name:"Close tab",keyText:isElectronAvailable()?"CtrlOrCommand+W":null,testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=1,onClick:closeCurrentTab}),registerCommand({id:"tabs.closeTabsWithCurrentDb",category:"Tabs",name:"Close tabs with current DB",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=1&&!!getCurrentDatabase(),onClick:closeTabsWithCurrentDb}),registerCommand({id:"tabs.closeTabsButCurrentDb",category:"Tabs",name:"Close tabs but current DB",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=1&&!!getCurrentDatabase(),onClick:closeTabsButCurrentDb}),registerCommand({id:"tabs.addToFavorites",category:"Tabs",name:"Add current tab to favorites",testEnabled:()=>{var e,t,n,o,r;return(null===(e=getActiveTab())||void 0===e?void 0:e.tabComponent)&&tabs[null===(t=getActiveTab())||void 0===t?void 0:t.tabComponent]&&tabs[null===(n=getActiveTab())||void 0===n?void 0:n.tabComponent].allowAddToFavorites&&tabs[null===(o=getActiveTab())||void 0===o?void 0:o.tabComponent].allowAddToFavorites(null===(r=getActiveTab())||void 0===r?void 0:r.props)},onClick:()=>showModal(FavoriteModal,{savingTab:getActiveTab()})});class TabsPanel extends SvelteComponent{constructor(e){super(),init(this,e,instance$17,create_fragment$19,safe_not_equal,{},null,[-1,-1])}}function create_fragment$18(e){let t,n;const o=[e[12],{data:e[0]},{title:getConnectionLabel(e[0],{showUnsaved:!0})},{icon:e[0].singleDatabase?"img database":"img server"},{isBold:e[0].singleDatabase?_.get(e[8],"connection._id")==e[0]._id&&_.get(e[8],"name")==e[0].defaultDatabase:_.get(e[8],"connection._id")==e[0]._id},{statusIcon:e[2]||e[5]},{statusTitle:e[3]||e[6]},{statusIconBefore:e[0].isReadOnly?"icon lock":null},{extInfo:e[4]},{colorMark:e[1]?.connectionColorFactory&&e[1]?.connectionColorFactory({conid:e[0]._id})},{menu:e[11]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[10]),t.$on("click",e[15]),t.$on("expand",e[16]),t.$on("dblclick",e[9]),t.$on("middleclick",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=6527&n?get_spread_update(o,[4096&n&&get_spread_object(e[12]),1&n&&{data:e[0]},1&n&&{title:getConnectionLabel(e[0],{showUnsaved:!0})},1&n&&{icon:e[0].singleDatabase?"img database":"img server"},257&n&&{isBold:e[0].singleDatabase?_.get(e[8],"connection._id")==e[0]._id&&_.get(e[8],"name")==e[0].defaultDatabase:_.get(e[8],"connection._id")==e[0]._id},36&n&&{statusIcon:e[2]||e[5]},72&n&&{statusTitle:e[3]||e[6]},1&n&&{statusIconBefore:e[0].isReadOnly?"icon lock":null},16&n&&{extInfo:e[4]},3&n&&{colorMark:e[1]?.connectionColorFactory&&e[1]?.connectionColorFactory({conid:e[0]._id})},2048&n&&{menu:e[11]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$8=e=>e._id,createMatcher$5=e=>t=>{const{_id:n,displayName:o,server:r}=e,i=getLocalStorage(`database_list_${n}`)||[];return lib$4.filterName(t,o,r,...i.map((e=>e.name)))},createChildMatcher=e=>t=>{if(!t)return!1;const{_id:n}=e,o=getLocalStorage(`database_list_${n}`)||[];return lib$4.filterName(t,...o.map((e=>e.name)))};function openConnection(e){e.singleDatabase?(currentDatabase.set({connection:e,name:e.defaultDatabase}),apiCall("database-connections/refresh",{conid:e._id,database:e.defaultDatabase,keepOpen:!0}),openedSingleDatabaseConnections.update((t=>_.uniq([...t,e._id])))):(openedConnections.update((t=>_.uniq([...t,e._id]))),apiCall("server-connections/refresh",{conid:e._id,keepOpen:!0}),expandedConnections.update((t=>_.uniq([...t,e._id])))),closeMultipleTabs((t=>"ConnectionTab"==t.tabComponent&&t.props?.conid==e._id),!0)}function instance$16(e,t,n){let o;const r=["data","passProps"];let i,a,s,c,l,u=compute_rest_props(t,r),d=noop$3;component_subscribe(e,openedConnections,(e=>n(13,i=e))),component_subscribe(e,extensions,(e=>n(14,a=e))),component_subscribe(e,openedSingleDatabaseConnections,(e=>n(18,s=e))),component_subscribe(e,currentDatabase,(e=>n(8,l=e))),e.$$.on_destroy.push((()=>d()));let{data:p}=t,{passProps:m}=t,h=null,f=null,g=null,$=null,b=null;const v=getElectron(),y=()=>{openConnection(p)},x=()=>{openNewTab({title:getConnectionLabel(p),icon:"img connection",tabComponent:"ConnectionTab",props:{conid:p._id}})},w=()=>{showModal(ImportDatabaseDumpModal,{connection:p})},C=()=>{var e;const t=a.drivers.find((e=>e.engine==p.engine));return[0==getCurrentConfig().runAsPortal&&[!i.includes(p._id)&&{text:"Edit",onClick:x},!i.includes(p._id)&&{text:"Delete",onClick:()=>{showModal(ConfirmModal,{message:`Really delete connection ${getConnectionLabel(p)}?`,onConfirm:()=>apiCall("connections/delete",p)})}},{text:"Duplicate",onClick:()=>{apiCall("connections/save",Object.assign(Object.assign({},p),{_id:void 0,displayName:`${getConnectionLabel(p)} - copy`}))}}],!p.singleDatabase&&[!i.includes(p._id)&&{text:"Connect",onClick:y},{onClick:()=>{openNewTab({title:"Query #",icon:"img sql-file",tooltip:`${getConnectionLabel(p)}`,tabComponent:"QueryTab",props:{conid:p._id}})},text:"New query",isNewQuery:!0},i.includes(p._id)&&p.status&&{text:"Refresh",onClick:()=>{apiCall("server-connections/refresh",{conid:p._id})}},i.includes(p._id)&&{text:"Disconnect",onClick:()=>{openedConnections.update((e=>e.filter((e=>e!=p._id)))),v&&apiCall("server-connections/disconnect",{conid:p._id}),_.get(l,"connection._id")==p._id&&(v&&apiCall("database-connections/disconnect",{conid:p._id,database:l.name}),currentDatabase.set(null)),closeMultipleTabs((e=>e.props.conid==p._id)),p.unsaved&&openNewTab({title:"New Connection",icon:"img connection",tabComponent:"ConnectionTab",props:{conid:p._id}})}},i.includes(p._id)&&(null==t?void 0:t.supportedCreateDatabase)&&!p.isReadOnly&&{text:"Create database",onClick:()=>{showModal(InputTextModal,{header:"Create database",value:"newdb",label:"Database name",onConfirm:e=>apiCall("server-connections/create-database",{conid:p._id,name:e})})}}],p.singleDatabase&&[{divider:!0},getDatabaseMenuItems(p,p.defaultDatabase,a,l,c,s)],(null===(e=null==t?void 0:t.databaseEngineTypes)||void 0===e?void 0:e.includes("sql"))&&{onClick:w,text:"Restore/import SQL dump"}]};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(12,u=compute_rest_props(t,r)),"data"in e&&n(0,p=e.data),"passProps"in e&&n(1,m=e.passProps)},e.$$.update=()=>{if(16385&e.$$.dirty)if(a.drivers.find((e=>e.engine==p.engine))){const e=(p.engine||"").match(/^([^@]*)@/);n(4,g=e?e[1]:p.engine),n(5,$=null),n(6,b=null)}else n(4,g=p.engine),n(5,$="img warn"),n(6,b=`Engine driver ${p.engine} not found, review installed plugins and change engine in edit connection dialog`);if(8193&e.$$.dirty){const{_id:e,status:t}=p;i.includes(e)?(t?"pending"==t.name?n(2,h="icon loading"):"ok"==t.name?n(2,h="img ok"):n(2,h="img error"):n(2,h="icon loading"),t&&"error"==t.name&&n(3,f=t.message)):(n(2,h=null),n(3,f=null))}},n(7,o=useUsedApps()),d(),d=subscribe(o,(e=>n(19,c=e))),[p,m,h,f,g,$,b,o,l,y,()=>{s.includes(p._id)?currentDatabase.set({connection:p,name:p.defaultDatabase}):i.includes(p._id)||x()},C,u,i,a,function(t){bubble.call(this,e,t)},function(t){bubble.call(this,e,t)},()=>{_.flattenDeep(C()).find((e=>e.isNewQuery)).onClick()}]}class ConnectionAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$16,create_fragment$18,safe_not_equal,{data:0,passProps:1})}}var connectionAppObject=Object.freeze({__proto__:null,default:ConnectionAppObject,extractKey:extractKey$8,createMatcher:createMatcher$5,createChildMatcher:createChildMatcher,openConnection:openConnection});function create_if_block$w(e){let t,n,o,r,i,a,s,c,l,u,d,p,m;o=new FormButton({props:{value:"Connect"}}),o.$on("click",e[8]);const h=[create_if_block_4$5,create_else_block$d],f=[];function g(e,t){return e[1]?0:1}i=g(e),a=f[i]=h[i](e),c=new FormButton({props:{value:"Save"}}),c.$on("click",e[7]);let _=!e[1]&&e[2]&&"connected"==e[2].msgtype&&create_if_block_3$7(e),$=!e[1]&&e[2]&&"error"==e[2].msgtype&&create_if_block_2$a(e),b=e[1]&&create_if_block_1$h();return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),a.c(),s=space(),create_component(c.$$.fragment),l=space(),u=element("div"),_&&_.c(),d=space(),$&&$.c(),p=space(),b&&b.c(),attr(n,"class","buttons svelte-1bbccjw"),attr(u,"class","test-result svelte-1bbccjw"),attr(t,"class","flex")},m(e,a){insert(e,t,a),append(t,n),mount_component(o,n,null),append(n,r),f[i].m(n,null),append(n,s),mount_component(c,n,null),append(t,l),append(t,u),_&&_.m(u,null),append(u,d),$&&$.m(u,null),append(u,p),b&&b.m(u,null),m=!0},p(e,t){let o=i;i=g(e),i===o?f[i].p(e,t):(group_outros(),transition_out(f[o],1,1,(()=>{f[o]=null})),check_outros(),a=f[i],a?a.p(e,t):(a=f[i]=h[i](e),a.c()),transition_in(a,1),a.m(n,s)),!e[1]&&e[2]&&"connected"==e[2].msgtype?_?(_.p(e,t),6&t&&transition_in(_,1)):(_=create_if_block_3$7(e),_.c(),transition_in(_,1),_.m(u,d)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),!e[1]&&e[2]&&"error"==e[2].msgtype?$?($.p(e,t),6&t&&transition_in($,1)):($=create_if_block_2$a(e),$.c(),transition_in($,1),$.m(u,p)):$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()),e[1]?b?2&t&&transition_in(b,1):(b=create_if_block_1$h(),b.c(),transition_in(b,1),b.m(u,null)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros())},i(e){m||(transition_in(o.$$.fragment,e),transition_in(a),transition_in(c.$$.fragment,e),transition_in(_),transition_in($),transition_in(b),m=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a),transition_out(c.$$.fragment,e),transition_out(_),transition_out($),transition_out(b),m=!1},d(e){e&&detach(t),destroy_component(o),f[i].d(),destroy_component(c),_&&_.d(),$&&$.d(),b&&b.d()}}}function create_else_block$d(e){let t,n;return t=new FormButton({props:{value:"Test"}}),t.$on("click",e[5]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$5(e){let t,n;return t=new FormButton({props:{value:"Cancel test"}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$7(e){let t,n,o,r,i,a,s=e[2].version+"";return o=new FontIcon({props:{icon:"img ok"}}),{c(){t=element("div"),n=text$1("Connected: "),create_component(o.$$.fragment),r=space(),i=text$1(s)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),a=!0},p(e,t){(!a||4&t)&&s!==(s=e[2].version+"")&&set_data(i,s)},i(e){a||(transition_in(o.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block_2$a(e){let t,n,o,r,i,a,s,c,l=e[2].error+"";return o=new FontIcon({props:{icon:"img error"}}),s=new Link$1({props:{onClick:e[14],$$slots:{default:[create_default_slot_1$j]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=text$1("Connect failed: "),create_component(o.$$.fragment),r=space(),i=text$1(l),a=space(),create_component(s.$$.fragment),attr(t,"class","error-result svelte-1bbccjw")},m(e,l){insert(e,t,l),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||4&t)&&l!==(l=e[2].error+"")&&set_data(i,l);const n={};4&t&&(n.onClick=e[14]),262144&t&&(n.$$scope={dirty:t,ctx:e}),s.$set(n)},i(e){c||(transition_in(o.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(s)}}}function create_default_slot_1$j(e){let t;return{c(){t=text$1("Show detail")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_1$h(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon loading"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Testing connection")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_default_slot$p(e){let t,n,o,r;n=new TabControl({props:{isInline:!0,containerMaxWidth:"800px",flex1:!1,tabs:[{label:"General",component:ConnectionDriverFields},e[3]?.showConnectionTab("sshTunnel",e[0])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[3]?.showConnectionTab("ssl",e[0])&&{label:"SSL",component:ConnectionSslFields}]}});let i=e[3]&&create_if_block$w(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","wrapper svelte-1bbccjw")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,o){const r={};9&o&&(r.tabs=[{label:"General",component:ConnectionDriverFields},e[3]?.showConnectionTab("sshTunnel",e[0])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[3]?.showConnectionTab("ssl",e[0])&&{label:"SSL",component:ConnectionSslFields}]),n.$set(r),e[3]?i?(i.p(e,o),8&o&&transition_in(i,1)):(i=create_if_block$w(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_fragment$17(e){let t,n;return t=new FormProviderCore({props:{template:FormFieldTemplateLarge,values:e[4],$$slots:{default:[create_default_slot$p]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};262159&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const matchingProps=["conid"];function instance$15(e,t,n){let o,r,i,a;component_subscribe(e,extensions,(e=>n(13,a=e)));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let c,l,{connection:u}=t,{tabid:d}=t,{conid:p}=t;const m=writable(u||{server:getCurrentConfig().isDocker?"dockerhost":"localhost",engine:""});component_subscribe(e,m,(e=>n(0,i=e)));const h=createRef(0);function f(){const e=["databaseFile","useDatabaseUrl","databaseUrl","authType","server","port","user","password","defaultDatabase","singleDatabase"],t=e.filter((e=>null==r?void 0:r.showConnectionField(e,i))),n=_.difference(e,t);i.defaultDatabase||n.push("singleDatabase");let o=_.omit(i,n);return(null==r?void 0:r.beforeConnectionSave)&&(o=null==r?void 0:r.beforeConnectionSave(o)),(null==r?void 0:r.showConnectionTab("sshTunnel",i))?(o=_.omit(o,["useSshTunnel"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))):i.useSshTunnel||(o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))),(null==r?void 0:r.showConnectionTab("ssl",i))?(o=_.omit(o,["useSsl"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))):i.useSsl||(o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))),o}onMount((()=>s(void 0,void 0,void 0,(function*(){p&&set_store_value(m,i=yield apiCall("connections/get",{conid:p}),i)}))));return e.$$set=e=>{"connection"in e&&n(9,u=e.connection),"tabid"in e&&n(10,d=e.tabid),"conid"in e&&n(11,p=e.conid)},e.$$.update=()=>{1&e.$$.dirty&&n(12,o=i.engine),12288&e.$$.dirty&&n(3,r=a.drivers.find((e=>e.engine==o)))},[i,c,l,r,m,function(e){return s(this,void 0,void 0,(function*(){n(1,c=!0),h.update((e=>e+1));const t=h.get(),o=yield apiCall("connections/test",e.detail);h.get()==t&&(n(1,c=!1),n(2,l=o))}))},function(){h.update((e=>e+1)),n(1,c=!1)},function(){return s(this,void 0,void 0,(function*(){let e=f();e=Object.assign(Object.assign({},e),{unsaved:!1});const t=yield apiCall("connections/save",e);set_store_value(m,i=Object.assign(Object.assign({},i),{_id:t._id,unsaved:!1}),i),changeTab(d,(e=>Object.assign(Object.assign({},e),{title:getConnectionLabel(t),props:Object.assign(Object.assign({},e.props),{conid:t._id})}))),showSnackbarSuccess("Connection saved")}))},function(){return s(this,void 0,void 0,(function*(){let e=f();e._id||(e=Object.assign(Object.assign({},e),{unsaved:!e._id}));openConnection(yield apiCall("connections/save",e)),closeMultipleTabs((e=>e.tabid==d),!0)}))},u,d,p,o,a,()=>showModal(ErrorMessageModal,{message:l.detail,showAsCode:!0,title:"Database connection error"})]}class ConnectionTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$15,create_fragment$17,safe_not_equal,{connection:9,tabid:10,conid:11})}}var ConnectionTab$1=Object.freeze({__proto__:null,default:ConnectionTab,matchingProps:matchingProps}),tabs={TableDataTab:TableDataTab$1,CollectionDataTab:CollectionDataTab$1,ViewDataTab:ViewDataTab$1,TableStructureTab:TableStructureTab$1,QueryTab:QueryTab$1,ShellTab:ShellTab$1,ArchiveFileTab:ArchiveFileTab$1,FreeTableTab:FreeTableTab$1,PluginTab:PluginTab$1,ChartTab:ChartTab$1,MarkdownEditorTab:MarkdownEditorTab$1,MarkdownViewTab:MarkdownViewTab$1,MarkdownPreviewTab:MarkdownPreviewTab$1,FavoriteEditorTab:FavoriteEditorTab$1,QueryDesignTab:QueryDesignTab$1,CommandListTab:CommandListTab$1,YamlEditorTab:YamlEditorTab$1,JsonEditorTab:JsonEditorTab$1,JsonLinesEditorTab:JsonLinesEditorTab$1,CompareModelTab:CompareModelTab$1,JsonTab:JsonTab$1,ChangelogTab:ChangelogTab$1,DiagramTab:DiagramTab$1,DbKeyDetailTab:DbKeyDetailTab$1,QueryDataTab:QueryDataTab$1,ConnectionTab:ConnectionTab$1};function findFreeNumber(e){return 0==e.length?1:_.max(e)+1}function openNewTab(e,t,n){return __awaiter$h(this,void 0,void 0,(function*(){const o=get_store_value(openedTabs);let r=null;const{savedFile:i,savedFolder:a,savedFilePath:s}=e.props||{};(i||s)&&(r=o.find((t=>t.props&&t.tabComponent==e.tabComponent&&null==t.closedTime&&t.props.savedFile==i&&t.props.savedFolder==a&&t.props.savedFilePath==s)));const{forceNewTab:c}=n||{},l=tabs[e.tabComponent];if(!r&&!c&&l&&l.matchingProps){const t=jsonStableStringify(_.pick(e.props||{},l.matchingProps));r=o.find((n=>n.props&&n.tabComponent==e.tabComponent&&null==n.closedTime&&jsonStableStringify(_.pick(n.props||{},l.matchingProps))==t))}if(r)return void openedTabs.update((e=>setSelectedTabFunc(e,r.tabid)));if(e.title.endsWith("#")){const t=o.filter((t=>null==t.closedTime&&t.title&&t.title.startsWith(e.title))).map((t=>parseInt(t.title.substring(e.title.length))));e.title=`${e.title}${findFreeNumber(t)}`}const u=v1_1$4();if(t)for(const e of _.keys(t))"editor"==e?yield localforage.setItem(`tabdata_${e}_${u}`,t[e]):localStorage.setItem(`tabdata_${e}_${u}`,JSON.stringify(t[e]));openedTabs.update((t=>{const n=getTabDbKey(e),o=sortTabs(t.filter((e=>null==e.closedTime))),r=Object.assign(Object.assign({},e),{tabid:u});if(null!=n){const e=_.findLastIndex(o,(e=>getTabDbKey(e)==n));e>=0?o.splice(e+1,0,r):o.push(r)}else o.push(r);return[...(t||[]).map((e=>Object.assign(Object.assign({},e),{selected:!1,tabOrder:_.findIndex(o,(t=>t.tabid==e.tabid))}))),Object.assign(Object.assign({},e),{tabid:u,selected:!0,tabOrder:_.findIndex(o,(e=>e.tabid==u))})]}))}))}function duplicateTab(e){return __awaiter$h(this,void 0,void 0,(function*(){yield saveAllPendingEditorData();let t=e.title;const n=t.match(/^(.*#)[\d]+$/);n&&(t=n[1]);const o=/^tabdata_([^_]+)_([^_]+)$/,r={};for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t),i=n.match(o);i&&i[2]==e.tabid&&(r[i[1]]=JSON.parse(localStorage.getItem(n)))}for(const t of yield localforage.keys()){const n=t.match(o);n&&n[2]==e.tabid&&(r[n[1]]=yield localforage.getItem(t))}openNewTab(Object.assign(Object.assign({},_.omit(e,["tabid"])),{title:t}),r,{forceNewTab:!0})}))}function getTabDbKey(e){return"ConnectionTab"==e.tabComponent?"connections.":e.props&&e.props.conid&&e.props.database?`database://${e.props.database}-${e.props.conid}`:e.props&&e.props.conid?`server://${e.props.conid}`:e.props&&e.props.archiveFolder?`archive://${e.props.archiveFolder}`:null}function sortTabs(e){return _.sortBy(e,[e=>e.tabOrder||0,e=>getTabDbKey(e),"title","tabid"])}function groupTabs(e){const t=[];for(const n of sortTabs(e)){const e=t[t.length-1];e&&n.tabDbKey&&e.tabDbKey==n.tabDbKey?e.tabs.push(n):t.push({tabDbKey:n.tabDbKey,tabDbName:n.tabDbName,tabs:[n],grpid:n.tabid})}return t}function newQuery(e={}){var{tabComponent:t="QueryTab",icon:n="img sql-file",title:o,initialData:r}=e,i=__rest(e,["tabComponent","icon","title","initialData"]);const a=get_store_value(currentDatabase),s=_.get(a,"connection")||{},c=_.get(a,"name");openNewTab({title:o||"Query #",icon:n,tooltip:`${getConnectionLabel(s)}\n${c}`,tabComponent:t,props:Object.assign(Object.assign({},i),{conid:s._id,database:c})},{editor:r})}function create_fragment$16(e){let t,n;const o=[e[4],{data:e[0]},{icon:e[1]?.icon},{title:e[0]?.file},{menu:e[2]()}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",(function(){is_function(e[1]?.tabComponent&&e[3])&&(e[1]?.tabComponent&&e[3]).apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,[r]){e=n;const i=23&r?get_spread_update(o,[16&r&&get_spread_object(e[4]),1&r&&{data:e[0]},2&r&&{icon:e[1]?.icon},1&r&&{title:e[0]?.file},4&r&&{menu:e[2]()}]):{};t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const sql={icon:"img sql-file",format:"text",tabComponent:"QueryTab",folder:"sql",currentConnection:!0},shell={icon:"img shell",format:"text",tabComponent:"ShellTab",folder:"shell",currentConnection:!1},markdown={icon:"img markdown",format:"text",tabComponent:"MarkdownEditorTab",folder:"markdown",currentConnection:!1},charts={icon:"img chart",format:"json",tabComponent:"ChartTab",folder:"charts",currentConnection:!0},query={icon:"img query-design",format:"json",tabComponent:"QueryDesignTab",folder:"query",currentConnection:!0},sqlite={icon:"img sqlite-database",format:"binary",tabComponent:null,folder:"sqlite",currentConnection:!0},diagrams={icon:"img diagram",format:"json",tabComponent:"DiagramTab",folder:"diagrams",currentConnection:!0},SAVED_FILE_HANDLERS={sql:sql,shell:shell,markdown:markdown,charts:charts,query:query,sqlite:sqlite,diagrams:diagrams},extractKey$7=e=>e.file,createMatcher$4=({file:e})=>t=>lib$4.filterName(t,e);function instance$14(e,t,n){let o,r;const i=["data"];let a,s=compute_rest_props(t,i);component_subscribe(e,currentDatabase,(e=>n(6,a=e)));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:l}=t;const u=()=>{openNewTab({title:l.file,icon:"img markdown",tabComponent:"MarkdownViewTab",props:{savedFile:l.file,savedFolder:"markdown",savedFormat:"text"}})};const d=()=>{showModal(ConfirmModal,{message:`Really delete file ${l.file}?`,onConfirm:()=>{apiCall("files/delete",l)}})},p=()=>{showModal(InputTextModal,{value:l.file,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("files/rename",Object.assign(Object.assign({},l),{newFile:e}))}})},m=()=>{showModal(InputTextModal,{value:l.file,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("files/copy",Object.assign(Object.assign({},l),{newFile:e}))}})};function h(){return c(this,void 0,void 0,(function*(){const e=yield apiCall("files/load",{folder:o,file:l.file,format:r.format}),t={};let n;if(r.currentConnection){const e=_.get(a,"connection")||{},o=_.get(a,"name");t.conid=e._id,t.database=o,n=`${getConnectionLabel(e)}\n${o}`}openNewTab({title:l.file,icon:r.icon,tabComponent:r.tabComponent,tooltip:n,props:Object.assign({savedFile:l.file,savedFolder:r.folder,savedFormat:r.format},t)},{editor:e})}))}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,s=compute_rest_props(t,i)),"data"in e&&n(0,l=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(5,o=null==l?void 0:l.folder),32&e.$$.dirty&&n(1,r=SAVED_FILE_HANDLERS[o])},[l,r,function(){return[(null==r?void 0:r.tabComponent)&&{text:"Open",onClick:h},hasPermission(`files/${l.folder}/write`)&&{text:"Rename",onClick:p},hasPermission(`files/${l.folder}/write`)&&{text:"Create copy",onClick:m},hasPermission(`files/${l.folder}/write`)&&{text:"Delete",onClick:d},"markdown"==o&&{text:"Show page",onClick:u}]},h,s,o]}class SavedFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$14,create_fragment$16,safe_not_equal,{data:0})}}var savedFileAppObject=Object.freeze({__proto__:null,default:SavedFileAppObject,SAVED_FILE_HANDLERS:SAVED_FILE_HANDLERS,extractKey:extractKey$7,createMatcher:createMatcher$4});function canOpenByElectron(e,t){var n;if(!e)return!1;const o=e.toLowerCase();if(o.endsWith(".sql"))return!0;if(o.endsWith(".diagram"))return!0;if(o.endsWith(".db")||o.endsWith(".sqlite")||o.endsWith(".sqlite3"))return!0;for(const e of t.fileFormats){if(o.endsWith(`.${e.extension}`))return!0;if(null===(n=e.extensions)||void 0===n?void 0:n.find((e=>o.endsWith(`.${e}`))))return!0}return!1}function openSqliteFile(e){return __awaiter$h(this,void 0,void 0,(function*(){const t=getDatabaseFileLabel(e),n=yield apiCall("connections/save",{_id:void 0,databaseFile:e,engine:"sqlite@dbgate-plugin-sqlite",singleDatabase:!0,defaultDatabase:t});currentDatabase.set({connection:n,name:getDatabaseFileLabel(e)})}))}function getFileEncoding(e,t){var n=Buffer.alloc(5),o=t.openSync(e,"r");t.readSync(o,n,0,5,0),t.closeSync(o);let r=null;return r||239!==n[0]||187!==n[1]||191!==n[2]||(r="utf8"),r||254!==n[0]||255!==n[1]||(r="utf16be"),r||255!==n[0]||254!==n[1]||(r="utf16le"),r||(r="ascii"),r}function openElectronJsonLinesFile(e,t){openNewTab({title:t.name,tooltip:e,icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:`file://${e}`}})}function openSavedElectronFile(e,t,n){var o;return __awaiter$h(this,void 0,void 0,(function*(){const r=SAVED_FILE_HANDLERS[n],i=yield apiCall("files/load-from",{filePath:e,format:r.format}),a={};let s;const c=getCurrentDatabase();if(r.currentConnection){const e=(null==c?void 0:c.connection)||{},t=null==c?void 0:c.name;a.conid=null===(o=null==c?void 0:c.connection)||void 0===o?void 0:o._id,a.database=t,s=`${getConnectionLabel(e)}\n${t}`}openNewTab({title:t.name,icon:r.icon,tabComponent:r.tabComponent,tooltip:s,props:Object.assign({savedFile:null,savedFolder:null,savedFilePath:e,savedFormat:r.format},a)},{editor:i})}))}function openElectronFileCore(e,t){const n=e.toLowerCase(),o=window.require("path"),r=window.require("fs"),i=o.parse(e),a=getUploadListener();if(n.endsWith(".sql")){const t=getFileEncoding(e,r),n=r.readFileSync(e,{encoding:t});newQuery({title:i.name,initialData:n,savedFilePath:e,savedFormat:"text"})}else if(n.endsWith(".db")||n.endsWith(".sqlite")||n.endsWith(".sqlite"))openSqliteFile(e);else if(n.endsWith(".jsonl")||n.endsWith(".ndjson"))openElectronJsonLinesFile(e,i);else if(n.endsWith(".diagram"))openSavedElectronFile(e,i,"diagrams");else for(const o of t.fileFormats)n.endsWith(`.${o.extension}`)&&(a?a({filePath:e,storageType:o.storageType,shortName:i.name}):showModal(ImportExportModal$1,{openedFile:{filePath:e,storageType:o.storageType,shortName:i.name},importToCurrentTarget:!0,initialValues:{sourceStorageType:o.storageType}}))}function getFileFormatFilters(e){return e.fileFormats.filter((e=>e.readerFunc)).map((e=>({name:e.name,extensions:e.extensions||[e.extension]})))}function getFileFormatExtensions(e){return _.flatten(e.fileFormats.filter((e=>e.readerFunc)).map((e=>e.extensions||[e.extension])))}function openElectronFile(){return __awaiter$h(this,void 0,void 0,(function*(){const e=getElectron(),t=get_store_value(extensions),n=yield e.showOpenDialog({filters:[{name:"All supported files",extensions:["sql","sqlite","db","sqlite3","diagram",...getFileFormatExtensions(t)]},{name:"SQL files",extensions:["sql"]},{name:"Diagram files",extensions:["diagram"]},{name:"SQLite database",extensions:["sqlite","db","sqlite3"]},...getFileFormatFilters(t)],properties:["showHiddenFiles","openFile"]}),o=n&&n[0];canOpenByElectron(o,t)&&openElectronFileCore(o,t)}))}let uploadListener;function setUploadListener(e){uploadListener=e}function getUploadListener(){return uploadListener}function uploadFiles(e){const t=get_store_value(extensions),n=getElectron();e.forEach((e=>__awaiter$h(this,void 0,void 0,(function*(){if(n&&canOpenByElectron(e.path,t))return void openElectronFileCore(e.path,t);const o=33554432;if(parseInt(e.size,10)>=o)return void showModal(ErrorMessageModal,{title:"Upload error",message:`File is too big, current size is ${Math.round(e.size/1024).toLocaleString()} KB, max allowed size is ${Math.round(32768).toLocaleString()} KB`});const r=new FormData;r.append("data",e);const i={method:"POST",body:r},a=resolveApi(),s=yield fetch(`${a}/uploads/upload`,i),c=yield s.json();if(c.shortName=e.name,e.name.endsWith(".jsonl")||e.name.endsWith(".ndjson"))openNewTab({title:c.shortName,icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:`file://${c.filePath}`}});else{for(const n of t.fileFormats)e.name.endsWith("."+n.extension)&&(c.shortName=e.name.slice(0,-n.extension.length-1),c.storageType=n.storageType);uploadListener?uploadListener(c):findFileFormat(t,c.storageType)&&showModal(ImportExportModal$1,{uploadedFile:c,importToCurrentTarget:!0,initialValues:{sourceStorageType:c.storageType}})}}))))}function create_fragment$15(e){let t,n;return t=new SelectField({props:{options:e[2],isNative:!0,value:e[1][`actionType_${e[0]}`]||e[2][0].value}}),t.$on("change",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.options=e[2]),7&n&&(o.value=e[1][`actionType_${e[0]}`]||e[2][0].value),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$13(e,t,n){let o,r,i;component_subscribe(e,extensions,(e=>n(6,i=e)));let{name:a}=t,{targetDbinfo:s}=t;const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(1,r=e)));return e.$$set=e=>{"name"in e&&n(0,a=e.name),"targetDbinfo"in e&&n(5,s=e.targetDbinfo)},e.$$.update=()=>{99&e.$$.dirty&&n(2,o=getActionOptions(i,a,r))},[a,r,o,c,l,s,i,e=>l(`actionType_${a}`,e.detail)]}class SourceAction extends SvelteComponent{constructor(e){super(),init(this,e,instance$13,create_fragment$15,safe_not_equal,{name:0,targetDbinfo:5})}}function create_if_block$v(e){let t,n,o,r,i,a;return n=new FontIcon({props:{icon:"icon web"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","icon svelte-170ou0a"),attr(t,"title",o=e[1]&&e[1].fileName)},m(o,s){insert(o,t,s),mount_component(n,t,null),r=!0,i||(a=listen(t,"click",e[4]),i=!0)},p(e,n){(!r||2&n&&o!==(o=e[1]&&e[1].fileName))&&attr(t,"title",o)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),i=!1,a()}}}function create_fragment$14(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[1]&&!!e[1].isDownload&&create_if_block$v(e);return c=new FontIcon({props:{icon:"icon delete"}}),{c(){t=element("div"),n=element("div"),o=text$1(e[0]),r=space(),i=element("div"),p&&p.c(),a=space(),s=element("div"),create_component(c.$$.fragment),attr(s,"class","icon svelte-170ou0a"),attr(i,"class","flex"),attr(t,"class","flex space-between")},m(m,h){insert(m,t,h),append(t,n),append(n,o),append(t,r),append(t,i),p&&p.m(i,null),append(i,a),append(i,s),mount_component(c,s,null),l=!0,u||(d=listen(s,"click",e[3]),u=!0)},p(e,[t]){(!l||1&t)&&set_data(o,e[0]),e[1]&&e[1].isDownload?p?(p.p(e,t),2&t&&transition_in(p,1)):(p=create_if_block$v(e),p.c(),transition_in(p,1),p.m(i,a)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){l||(transition_in(p),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(p),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),p&&p.d(),destroy_component(c),u=!1,d()}}}function instance$12(e,t,n){let o,r,{name:i}=t;const{values:a,setFieldValue:s}=getFormContext();component_subscribe(e,a,(e=>n(5,r=e)));const c=e=>{s(`sourceFile_${i}`,{fileName:e,isDownload:!0})};return e.$$set=e=>{"name"in e&&n(0,i=e.name)},e.$$.update=()=>{33&e.$$.dirty&&n(1,o=r[`sourceFile_${i}`])},[i,o,a,()=>{s("sourceList",r.sourceList.filter((e=>e!=i)))},()=>{showModal(ChangeDownloadUrlModal,{url:o.fileName,onConfirm:c})},r]}class SourceName extends SvelteComponent{constructor(e){super(),init(this,e,instance$12,create_fragment$14,safe_not_equal,{name:0})}}function create_fragment$13(e){let t,n,o,r,i,a,s,c;const l=[e[7],{options:e[2]},{isMulti:!0},{templateProps:{noMargin:!0}}];let u={};for(let e=0;e<l.length;e+=1)u=assign(u,l[e]);return n=new FormSelectField({props:u}),i=new FormStyledButton({props:{type:"button",value:"All files"}}),i.$on("click",e[9]),s=new FormStyledButton({props:{type:"button",value:"Remove all"}}),s.$on("click",e[10]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),attr(t,"class","wrapper svelte-y6l14f")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),append(r,a),mount_component(s,r,null),c=!0},p(e,[t]){const o=132&t?get_spread_update(l,[128&t&&get_spread_object(e[7]),4&t&&{options:e[2]},l[2],l[3]]):{};n.$set(o)},i(e){c||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),destroy_component(s)}}}function instance$11(e,t,n){let o,r,i,a,s=noop$3;e.$$.on_destroy.push((()=>s()));let{folderName:c}=t,{name:l}=t;const{setFieldValue:u,values:d}=getFormContext();component_subscribe(e,d,(e=>n(4,a=e)));return e.$$set=e=>{n(7,t=assign(assign({},t),exclude_internal_props(e))),"folderName"in e&&n(8,c=e.folderName),"name"in e&&n(0,l=e.name)},e.$$.update=()=>{256&e.$$.dirty&&(n(3,o=useArchiveFiles({folder:c})),s(),s=subscribe(o,(e=>n(1,i=e)))),2&e.$$.dirty&&n(2,r=(i||[]).map((e=>({value:e.name,label:e.name}))))},t=exclude_internal_props(t),[l,i,r,o,a,u,d,t,c,()=>u(l,_.uniq([...a[l]||[],...i&&i.map((e=>e.name))])),()=>u(l,[])]}class FormArchiveFilesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$11,create_fragment$13,safe_not_equal,{folderName:8,name:0})}}function create_if_block$u(e){let t,n;return t=new LoadingInfo({props:{message:"Anaysing input files"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$12(e){let t,n,o,r;t=new FormStyledButton({props:{type:"button",value:"Add file(s)"}}),t.$on("click",e[2]);let i=e[0]&&create_if_block$u();return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,[t]){e[0]?i?1&t&&transition_in(i,1):(i=create_if_block$u(),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function getFileFilters(e,t){const n=[],o=findFileFormat(e,t);return o&&n.push({name:o.name,extensions:[o.extension]}),n.push({name:"All Files",extensions:["*"]}),n}function instance$10(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(4,r=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let a=!1;const{values:s}=getFormContext();component_subscribe(e,s,(e=>n(3,o=e)));return[a,s,()=>i(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showOpenDialog({properties:["openFile","multiSelections"],filters:getFileFilters(r,o.sourceStorageType)});if(t){const e=window.require("path");try{n(0,a=!0),yield addFilesToSourceList(r,t.map((t=>({fileName:t,shortName:e.parse(t).name}))),o,s)}finally{n(0,a=!1)}}}))]}class ElectronFilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$10,create_fragment$12,safe_not_equal,{})}}function create_else_block$c(e){let t,n;return t=new UploadButton({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$t(e){let t,n;return t=new ElectronFilesInput({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$11(e){let t,n,o,r,i,a,s,c,l;const u=[create_if_block$t,create_else_block$c],d=[];return o=function(e,t){return e[0]?0:1}(e),r=d[o]=u[o](e),a=new FormStyledButton({props:{value:"Add web URL"}}),a.$on("click",e[2]),{c(){t=element("div"),n=element("div"),r.c(),i=space(),create_component(a.$$.fragment),s=space(),c=element("div"),c.textContent="Drag & drop imported files here",attr(n,"class","flex"),attr(c,"class","wrapper svelte-5j61hy"),attr(t,"class","main svelte-5j61hy")},m(e,r){insert(e,t,r),append(t,n),d[o].m(n,null),append(n,i),mount_component(a,n,null),append(t,s),append(t,c),l=!0},p:noop$3,i(e){l||(transition_in(r),transition_in(a.$$.fragment,e),l=!0)},o(e){transition_out(r),transition_out(a.$$.fragment,e),l=!1},d(e){e&&detach(t),d[o].d(),destroy_component(a)}}}function extractUrlName(e,t){const n=e.match(/\/([^/]+)($|\?)/);if(n){const e=n[1];return e.includes(".")?e.slice(0,e.indexOf(".")):e}return`url${t&&t.sourceList?t.sourceList.length+1:"1"}`}function instance$$(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(5,r=e)));let{setPreviewSource:i}=t;const a=getElectron(),{values:s}=getFormContext();component_subscribe(e,s,(e=>n(4,o=e)));const c=e=>{addFilesToSourceList(r,[{fileName:e,shortName:extractUrlName(e,o),isDownload:!0}],o,s,null,i)};return e.$$set=e=>{"setPreviewSource"in e&&n(3,i=e.setPreviewSource)},[a,s,()=>showModal(ChangeDownloadUrlModal,{onConfirm:c}),i]}class FilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$$,create_fragment$11,safe_not_equal,{setPreviewSource:3})}}function create_if_block$s(e){let t,n;const o=[e[3],{options:e[0]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$10(e){let t,n,o=e[0].length>0&&create_if_block$s(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0].length>0?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$s(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$_(e,t,n){let o,r;const i=["conidName","databaseName"];let a,s,c=compute_rest_props(t,i),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t,{databaseName:d}=t;const{values:p}=getFormContext();return component_subscribe(e,p,(e=>n(7,s=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,c=compute_rest_props(t,i)),"conidName"in e&&n(4,u=e.conidName),"databaseName"in e&&n(5,d=e.databaseName)},e.$$.update=()=>{176&e.$$.dirty&&(n(1,o=useDatabaseInfo({conid:s[u],database:p[d]})),l(),l=subscribe(o,(e=>n(6,a=e)))),64&e.$$.dirty&&n(0,r=(a&&a.schemas||[]).map((e=>({value:e.schemaName,label:e.schemaName}))))},[r,o,p,c,u,d,a,s]}class FormSchemaSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$_,create_fragment$10,safe_not_equal,{conidName:4,databaseName:5})}}function get_each_context$d(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block$r(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:`All ${e[13]}`}}),t.$on("click",(function(){return e[11](e[13])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(t,n){e=t},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$d(e){let t,n,o=e[2]&&e[2][e[13]]?.length>0&&create_if_block$r(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[2]&&e[2][e[13]]?.length>0?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$r(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_fragment$$(e){let t,n,o,r,i,a,s;const c=[e[7],{name:e[0]},{options:e[3]},{isMulti:!0},{templateProps:{noMargin:!0}}];let l={};for(let e=0;e<c.length;e+=1)l=assign(l,c[e]);n=new FormSelectField({props:l});let u=["tables","views","matviews","collections"],d=[];for(let t=0;t<4;t+=1)d[t]=create_each_block$d(get_each_context$d(e,u,t));const p=e=>transition_out(d[e],1,1,(()=>{d[e]=null}));return a=new FormStyledButton({props:{type:"button",value:"Remove all"}}),a.$on("click",e[12]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div");for(let e=0;e<4;e+=1)d[e].c();i=space(),create_component(a.$$.fragment),attr(t,"class","wrapper svelte-1xz9rwb")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),append(t,r);for(let e=0;e<4;e+=1)d[e].m(r,null);append(r,i),mount_component(a,r,null),s=!0},p(e,[t]){const o=137&t?get_spread_update(c,[128&t&&get_spread_object(e[7]),1&t&&{name:e[0]},8&t&&{options:e[3]},c[3],c[4]]):{};if(n.$set(o),71&t){let n;for(u=["tables","views","matviews","collections"],n=0;n<4;n+=1){const o=get_each_context$d(e,u,n);d[n]?(d[n].p(o,t),transition_in(d[n],1)):(d[n]=create_each_block$d(o),d[n].c(),transition_in(d[n],1),d[n].m(r,i))}for(group_outros(),n=4;n<4;n+=1)p(n);check_outros()}},i(e){if(!s){transition_in(n.$$.fragment,e);for(let e=0;e<4;e+=1)transition_in(d[e]);transition_in(a.$$.fragment,e),s=!0}},o(e){transition_out(n.$$.fragment,e),d=d.filter(Boolean);for(let e=0;e<4;e+=1)transition_out(d[e]);transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_each(d,e),destroy_component(a)}}}function instance$Z(e,t,n){let o,r;const i=["conidName","databaseName","schemaName","name"];let a,s,c=compute_rest_props(t,i),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t,{databaseName:d}=t,{schemaName:p}=t,{name:m}=t;const{values:h,setFieldValue:f}=getFormContext();component_subscribe(e,h,(e=>n(1,a=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,i)),"conidName"in e&&n(8,u=e.conidName),"databaseName"in e&&n(9,d=e.databaseName),"schemaName"in e&&n(10,p=e.schemaName),"name"in e&&n(0,m=e.name)},e.$$.update=()=>{770&e.$$.dirty&&(n(4,o=useDatabaseInfo({conid:a[u],database:a[d]})),l(),l=subscribe(o,(e=>n(2,s=e)))),1030&e.$$.dirty&&n(3,r=_.compact([...(null==s?void 0:s.tables)||[],...(null==s?void 0:s.views)||[],...(null==s?void 0:s.matviews)||[],...(null==s?void 0:s.collections)||[]]).filter((e=>!a[p]||e.schemaName==a[p])).map((e=>({value:e.pureName,label:e.pureName}))))},[m,a,s,r,o,h,f,c,u,d,p,e=>f(m,_.compact(_.uniq([...a[m]||[],...s[e]?.map((e=>e.pureName))||[]]))),()=>f(m,[])]}class FormTablesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$Z,create_fragment$$,safe_not_equal,{conidName:8,databaseName:9,schemaName:10,name:0})}}function create_if_block_13$1(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon import"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Source configuration"),attr(t,"class","title svelte-d1p00z")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_12$1(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon export"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Target configuration"),attr(t,"class","title svelte-d1p00z")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_11$1(e){let t,n;return t=new FormStyledButton({props:{value:"Current DB"}}),t.$on("click",e[21]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10$1(e){let t,n;return t=new FormStyledButton({props:{value:"New archive"}}),t.$on("click",e[23]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_9$1(e){let t,n,o,r;return t=new FormConnectionSelect({props:{name:e[2],label:"Server",direction:e[0]}}),o=new FormDatabaseSelect({props:{conidName:e[2],name:e[3],label:"Database"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};4&n&&(r.name=e[2]),1&n&&(r.direction=e[0]),t.$set(r);const i={};4&n&&(i.conidName=e[2]),8&n&&(i.name=e[3]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_7$1(e){let t,n,o,r;t=new FormSchemaSelect({props:{conidName:e[2],databaseName:e[3],name:e[5],label:"Schema"}});let i=e[6]&&create_if_block_8$1(e);return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,n){const r={};4&n&&(r.conidName=e[2]),8&n&&(r.databaseName=e[3]),32&n&&(r.name=e[5]),t.$set(r),e[6]?i?(i.p(e,n),64&n&&transition_in(i,1)):(i=create_if_block_8$1(e),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function create_if_block_8$1(e){let t,n;return t=new FormTablesSelect({props:{conidName:e[2],schemaName:e[5],databaseName:e[3],name:e[6],label:"Tables / views / collections"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.conidName=e[2]),32&n&&(o.schemaName=e[5]),8&n&&(o.databaseName=e[3]),64&n&&(o.name=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$3(e){let t,n,o,r,i,a;const s=[create_if_block_6$2,create_else_block$b],c=[];function l(e,t){return"json"==e[11].sourceQueryType?0:1}return r=l(e),i=c[r]=s[r](e),{c(){t=element("div"),t.textContent="Query",n=space(),o=element("div"),i.c(),attr(t,"class","label svelte-d1p00z"),attr(o,"class","sqlwrap svelte-d1p00z")},m(e,i){insert(e,t,i),insert(e,n,i),insert(e,o,i),c[r].m(o,null),a=!0},p(e,t){let n=r;r=l(e),r===n?c[r].p(e,t):(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros(),i=c[r],i?i.p(e,t):(i=c[r]=s[r](e),i.c()),transition_in(i,1),i.m(o,null))},i(e){a||(transition_in(i),a=!0)},o(e){transition_out(i),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),c[r].d()}}}function create_else_block$b(e){let t,n;return t=new SqlEditor({props:{value:e[11].sourceQuery,engine:e[7]}}),t.$on("input",e[26]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2048&n&&(o.value=e[11].sourceQuery),128&n&&(o.engine=e[7]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$2(e){let t,n;return t=new AceEditor({props:{value:e[11].sourceQuery,mode:"json"}}),t.$on("input",e[25]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2048&n&&(o.value=e[11].sourceQuery),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$4(e){let t,n;return t=new FormArchiveFolderSelect({props:{label:"Archive folder",name:e[4],additionalFolders:_.compact([e[11][e[4]]])}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.name=e[4]),2064&n&&(o.additionalFolders=_.compact([e[11][e[4]]])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$6(e){let t,n;return t=new FormArchiveFilesSelect({props:{label:"Source files",folderName:e[11][e[4]],name:e[6]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2064&n&&(o.folderName=e[11][e[4]]),64&n&&(o.name=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$9(e){let t,n;return t=new FilesInput({props:{setPreviewSource:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.setPreviewSource=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$g(e){let t,n;return t=new FormArgumentList({props:{args:e[10].args.filter(e[27]),namePrefix:`${e[0]}_${e[10].storageType}_`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1025&n&&(o.args=e[10].args.filter(e[27])),1025&n&&(o.namePrefix=`${e[0]}_${e[10].storageType}_`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$q(e){let t,n;return t=new FormArgumentList({props:{args:e[12]?.importExportArgs.filter(e[28]),namePrefix:`${e[0]}_${e[12].engine}_`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4097&n&&(o.args=e[12]?.importExportArgs.filter(e[28])),4097&n&&(o.namePrefix=`${e[0]}_${e[12].engine}_`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$_(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b="source"==e[0]&&create_if_block_13$1(),v="target"==e[0]&&create_if_block_12$1(),y=e[15]&&create_if_block_11$1(e);a=new FormStyledButton({props:{value:"Current archive"}}),a.$on("click",e[22]);let x="target"==e[0]&&create_if_block_10$1(e);l=new FormSelectField({props:{options:e[14].filter(e[24]),name:e[1],label:"Storage type"}});let w=("database"==e[9]||"query"==e[9])&&create_if_block_9$1(e),C="database"==e[9]&&create_if_block_7$1(e),k="query"==e[9]&&create_if_block_5$3(e),S="archive"==e[9]&&create_if_block_4$4(e),T="archive"==e[9]&&"source"==e[0]&&create_if_block_3$6(e),E=e[10]&&"source"==e[0]&&create_if_block_2$9(e),A=e[10]?.args&&create_if_block_1$g(e),D=e[12]?.importExportArgs&&create_if_block$q(e);return{c(){t=element("div"),b&&b.c(),n=space(),v&&v.c(),o=space(),r=element("div"),y&&y.c(),i=space(),create_component(a.$$.fragment),s=space(),x&&x.c(),c=space(),create_component(l.$$.fragment),u=space(),w&&w.c(),d=space(),C&&C.c(),p=space(),k&&k.c(),m=space(),S&&S.c(),h=space(),T&&T.c(),f=space(),E&&E.c(),g=space(),A&&A.c(),_=space(),D&&D.c(),attr(r,"class","buttons svelte-d1p00z"),attr(t,"class","column svelte-d1p00z")},m(e,N){insert(e,t,N),b&&b.m(t,null),append(t,n),v&&v.m(t,null),append(t,o),append(t,r),y&&y.m(r,null),append(r,i),mount_component(a,r,null),append(r,s),x&&x.m(r,null),append(t,c),mount_component(l,t,null),append(t,u),w&&w.m(t,null),append(t,d),C&&C.m(t,null),append(t,p),k&&k.m(t,null),append(t,m),S&&S.m(t,null),append(t,h),T&&T.m(t,null),append(t,f),E&&E.m(t,null),append(t,g),A&&A.m(t,null),append(t,_),D&&D.m(t,null),$=!0},p(e,[a]){"source"==e[0]?b?1&a&&transition_in(b,1):(b=create_if_block_13$1(),b.c(),transition_in(b,1),b.m(t,n)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"target"==e[0]?v?1&a&&transition_in(v,1):(v=create_if_block_12$1(),v.c(),transition_in(v,1),v.m(t,o)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),e[15]?y?(y.p(e,a),32768&a&&transition_in(y,1)):(y=create_if_block_11$1(e),y.c(),transition_in(y,1),y.m(r,i)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),"target"==e[0]?x?(x.p(e,a),1&a&&transition_in(x,1)):(x=create_if_block_10$1(e),x.c(),transition_in(x,1),x.m(r,null)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros());const s={};16385&a&&(s.options=e[14].filter(e[24])),2&a&&(s.name=e[1]),l.$set(s),"database"==e[9]||"query"==e[9]?w?(w.p(e,a),512&a&&transition_in(w,1)):(w=create_if_block_9$1(e),w.c(),transition_in(w,1),w.m(t,d)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros()),"database"==e[9]?C?(C.p(e,a),512&a&&transition_in(C,1)):(C=create_if_block_7$1(e),C.c(),transition_in(C,1),C.m(t,p)):C&&(group_outros(),transition_out(C,1,1,(()=>{C=null})),check_outros()),"query"==e[9]?k?(k.p(e,a),512&a&&transition_in(k,1)):(k=create_if_block_5$3(e),k.c(),transition_in(k,1),k.m(t,m)):k&&(group_outros(),transition_out(k,1,1,(()=>{k=null})),check_outros()),"archive"==e[9]?S?(S.p(e,a),512&a&&transition_in(S,1)):(S=create_if_block_4$4(e),S.c(),transition_in(S,1),S.m(t,h)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),"archive"==e[9]&&"source"==e[0]?T?(T.p(e,a),513&a&&transition_in(T,1)):(T=create_if_block_3$6(e),T.c(),transition_in(T,1),T.m(t,f)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),e[10]&&"source"==e[0]?E?(E.p(e,a),1025&a&&transition_in(E,1)):(E=create_if_block_2$9(e),E.c(),transition_in(E,1),E.m(t,g)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[10]?.args?A?(A.p(e,a),1024&a&&transition_in(A,1)):(A=create_if_block_1$g(e),A.c(),transition_in(A,1),A.m(t,_)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),e[12]?.importExportArgs?D?(D.p(e,a),4096&a&&transition_in(D,1)):(D=create_if_block$q(e),D.c(),transition_in(D,1),D.m(t,null)):D&&(group_outros(),transition_out(D,1,1,(()=>{D=null})),check_outros())},i(e){$||(transition_in(b),transition_in(v),transition_in(y),transition_in(a.$$.fragment,e),transition_in(x),transition_in(l.$$.fragment,e),transition_in(w),transition_in(C),transition_in(k),transition_in(S),transition_in(T),transition_in(E),transition_in(A),transition_in(D),$=!0)},o(e){transition_out(b),transition_out(v),transition_out(y),transition_out(a.$$.fragment,e),transition_out(x),transition_out(l.$$.fragment,e),transition_out(w),transition_out(C),transition_out(k),transition_out(S),transition_out(T),transition_out(E),transition_out(A),transition_out(D),$=!1},d(e){e&&detach(t),b&&b.d(),v&&v.d(),y&&y.d(),destroy_component(a),x&&x.d(),destroy_component(l),w&&w.d(),C&&C.d(),k&&k.d(),S&&S.d(),T&&T.d(),E&&E.d(),A&&A.d(),D&&D.d()}}}function instance$Y(e,t,n){let o,r,i,a,s,c,l,u,d,p,m=noop$3;component_subscribe(e,extensions,(e=>n(19,c=e))),component_subscribe(e,currentDatabase,(e=>n(15,d=e))),component_subscribe(e,currentArchive,(e=>n(16,p=e))),e.$$.on_destroy.push((()=>m()));let{direction:h}=t,{storageTypeField:f}=t,{connectionIdField:g}=t,{databaseNameField:_}=t,{archiveFolderField:$}=t,{schemaNameField:b}=t,{tablesField:v}=t,{engine:y}=t,{setPreviewSource:x}=t;const{values:w,setFieldValue:C}=getFormContext();component_subscribe(e,w,(e=>n(11,u=e)));return e.$$set=e=>{"direction"in e&&n(0,h=e.direction),"storageTypeField"in e&&n(1,f=e.storageTypeField),"connectionIdField"in e&&n(2,g=e.connectionIdField),"databaseNameField"in e&&n(3,_=e.databaseNameField),"archiveFolderField"in e&&n(4,$=e.archiveFolderField),"schemaNameField"in e&&n(5,b=e.schemaNameField),"tablesField"in e&&n(6,v=e.tablesField),"engine"in e&&n(7,y=e.engine),"setPreviewSource"in e&&n(8,x=e.setPreviewSource)},e.$$.update=()=>{526338&e.$$.dirty&&n(14,o="jsldata"==u[f]?[{value:"jsldata",label:"Query result data",directions:["source"]}]:[{value:"database",label:"Database",directions:["source","target"]},...c.fileFormats.map((e=>({value:e.storageType,label:`${e.name} files(s)`,directions:getFileFormatDirections(e)}))),{value:"query",label:"Query",directions:["source"]},{value:"archive",label:"Archive",directions:["source","target"]}]),2050&e.$$.dirty&&n(9,r=u[f]),2060&e.$$.dirty&&useDatabaseInfo({conid:u[g],database:u[_]}),2064&e.$$.dirty&&useArchiveFiles({folder:u[$]}),524800&e.$$.dirty&&n(10,i=findFileFormat(c,r)),2052&e.$$.dirty&&(n(13,a=useConnectionInfo({conid:u[g]})),m(),m=subscribe(a,(e=>n(20,l=e)))),1572864&e.$$.dirty&&n(12,s=lib$4.findEngineDriver(l,c))},[h,f,g,_,$,b,v,y,x,r,i,u,s,a,o,d,p,w,C,c,l,()=>{w.update((e=>({...e,[f]:"database",[g]:d?.connection?._id,[_]:d?.name})))},()=>{w.update((e=>({...e,[f]:"archive",[$]:p})))},()=>{w.update((e=>({...e,[f]:"archive",[$]:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`})))},e=>e.directions.includes(h),e=>C("sourceQuery",e.detail),e=>C("sourceQuery",e.detail),e=>!e.direction||e.direction==h,e=>!e.direction||e.direction==h]}class SourceTargetConfig extends SvelteComponent{constructor(e){super(),init(this,e,instance$Y,create_fragment$_,safe_not_equal,{direction:0,storageTypeField:1,connectionIdField:2,databaseNameField:3,archiveFolderField:4,schemaNameField:5,tablesField:6,engine:7,setPreviewSource:8})}}function get_context(e){const t=(e[0][`columns_${e[22]}`]||[]).filter((e=>!e.skip)).length;e[23]=t}function create_if_block$p(e){let t,n;return t=new CheckboxField({props:{checked:e[2]==e[22]}}),t.$on("change",(function(...t){return e[16](e[22],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4194308&o&&(r.checked=e[2]==e[22]),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__0_slot(e){let t,n,o=e[3]&&create_if_block$p(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[3]?o?(o.p(e,n),8&n&&transition_in(o,1)):(o=create_if_block$p(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create__1_slot$1(e){let t,n;return t=new TextField({props:{value:getTargetName(e[1],e[22],e[0])}}),t.$on("input",(function(...t){return e[15](e[22],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4194307&o&&(r.value=getTargetName(e[1],e[22],e[0])),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$o(e){let t,n=e[23]>0?`(${e[23]} columns)`:"(copy from source)";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){4194305&o&&n!==(n=e[23]>0?`(${e[23]} columns)`:"(copy from source)")&&set_data(t,n)},d(e){e&&detach(t)}}}function create__2_slot$1(e){let t,n;function o(){return e[14](e[22])}return get_context(e),t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot$o]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){get_context(e=n);const i={};1&r&&(i.onClick=o),20971521&r&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Z(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g;return o=new SourceTargetConfig({props:{direction:"source",storageTypeField:"sourceStorageType",connectionIdField:"sourceConnectionId",databaseNameField:"sourceDatabaseName",archiveFolderField:"sourceArchiveFolder",schemaNameField:"sourceSchemaName",tablesField:"sourceList",engine:e[4],setPreviewSource:e[9].set}}),a=new FontIcon({props:{icon:"icon arrow-right-bold"}}),c=new SourceTargetConfig({props:{direction:"target",storageTypeField:"targetStorageType",connectionIdField:"targetConnectionId",databaseNameField:"targetDatabaseName",archiveFolderField:"targetArchiveFolder",schemaNameField:"targetSchemaName"}}),p=new FontIcon({props:{icon:"icon tables"}}),f=new TableControl({props:{rows:e[0].sourceList||[],columns:[{fieldName:"source",header:"Source",component:SourceName,getProps:func_2$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[17]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}],$$slots:{2:[create__2_slot$1,({row:e})=>({22:e}),({row:e})=>e?4194304:0],1:[create__1_slot$1,({row:e})=>({22:e}),({row:e})=>e?4194304:0],0:[create__0_slot,({row:e})=>({22:e}),({row:e})=>e?4194304:0]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),l=space(),u=element("div"),d=element("div"),create_component(p.$$.fragment),m=text$1(" Map source tables/files"),h=space(),create_component(f.$$.fragment),attr(i,"class","arrow svelte-tc4cku"),attr(n,"class","flex"),attr(d,"class","title svelte-tc4cku"),attr(u,"class","m-2"),attr(t,"class","flex1")},m(e,_){insert(e,t,_),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),mount_component(a,i,null),append(n,s),mount_component(c,n,null),append(t,l),append(t,u),append(u,d),mount_component(p,d,null),append(d,m),append(u,h),mount_component(f,u,null),g=!0},p(e,[t]){const n={};16&t&&(n.engine=e[4]),o.$set(n);const r={};1&t&&(r.rows=e[0].sourceList||[]),64&t&&(r.columns=[{fieldName:"source",header:"Source",component:SourceName,getProps:func_2$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[17]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}]),20971535&t&&(r.$$scope={dirty:t,ctx:e}),f.$set(r)},i(e){g||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in(f.$$.fragment,e),g=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out(f.$$.fragment,e),g=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(c),destroy_component(p),destroy_component(f)}}}var __awaiter$3=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function addFileToSourceListDefault({fileName:e,shortName:t,isDownload:n},o,r){return __awaiter$3(this,void 0,void 0,(function*(){const i=t;o.push(i),r[`sourceFile_${i}`]={fileName:e,isDownload:n}}))}function addFilesToSourceList(e,t,n,o,r,i){return __awaiter$3(this,void 0,void 0,(function*(){const a=[],s={},c=r||n.sourceStorageType;for(const n of getAsArray(t)){const t=findFileFormat(e,c);t&&(yield(t.addFileToSourceList||addFileToSourceListDefault)(n,a,s))}s.sourceList=[...(n.sourceList||[]).filter((e=>!a.includes(e))),...a],r&&r!=n.sourceStorageType&&(s.sourceStorageType=r);for(const e of a)n.fixedTargetPureName&&(n[`targetName_${e}`]=n.fixedTargetPureName,n[`actionType_${e}`]="appendData");o.set(Object.assign(Object.assign({},n),s)),i&&1==a.length&&i(a[0])}))}const func_2$2=e=>({name:e});function instance$X(e,t,n){let o,r,i,a,s,c,l,u,d,p=noop$3;component_subscribe(e,extensions,(e=>n(1,l=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{uploadedFile:h}=t,{openedFile:f}=t,{previewReaderStore:g}=t;const{values:_,setFieldValue:$}=getFormContext();component_subscribe(e,_,(e=>n(0,c=e)));const b=writable(null);component_subscribe(e,b,(e=>n(2,u=e)));const v=e=>{addFilesToSourceList(l,[{fileName:e.filePath,shortName:e.shortName}],c,_,a&&0!=a.length?null:e.storageType,b.set)};onMount((()=>(setUploadListener(v),h&&v(h),f&&v(f),()=>{setUploadListener(null)})));return e.$$set=e=>{"uploadedFile"in e&&n(10,h=e.uploadedFile),"openedFile"in e&&n(11,f=e.openedFile),"previewReaderStore"in e&&n(12,g=e.previewReaderStore)},e.$$.update=()=>{var t;1&e.$$.dirty&&n(6,o=useDatabaseInfo({conid:c.targetConnectionId,database:c.targetDatabaseName})),1&e.$$.dirty&&(n(5,r=useConnectionInfo({conid:c.sourceConnectionId})),p(),p=subscribe(r,(e=>n(13,d=e)))),8192&e.$$.dirty&&n(4,i=null==d?void 0:d.engine),1&e.$$.dirty&&(a=c.sourceList),3&e.$$.dirty&&n(3,s=!!findFileFormat(l,c.sourceStorageType)||"archive"==c.sourceStorageType),5&e.$$.dirty&&(t=u,m(void 0,void 0,void 0,(function*(){if(t&&s){const e=yield createPreviewReader(l,c,t);g&&g.set(e)}else g&&g.set(null)})))},[c,l,u,s,i,r,o,_,$,b,h,f,g,d,e=>{showModal(ColumnMapModal,{value:c[`columns_${e}`],onConfirm:t=>$(`columns_${e}`,t)})},(e,t)=>$(`targetName_${e}`,t.target.value),(e,t)=>{t.target.checked?set_store_value(b,u=e,u):set_store_value(b,u=null,u)},e=>({name:e,targetDbinfo:o})]}class ImportExportConfigurator extends SvelteComponent{constructor(e){super(),init(this,e,instance$X,create_fragment$Z,safe_not_equal,{uploadedFile:10,openedFile:11,previewReaderStore:12})}}function create_if_block_2$8(e){let t,n;const o=[e[6],{grider:e[1]},{display:e[3]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DataGridCore({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=74&n?get_spread_update(o,[64&n&&get_spread_object(e[6]),2&n&&{grider:e[1]},8&n&&{display:e[3]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$f(e){let t,n;return t=new ErrorInfo({props:{message:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.message=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$o(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Loading data"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Y(e){let t,n,o,r;const i=[create_if_block$o,create_if_block_1$f,create_if_block_2$8],a=[];function s(e,t){return e[0]?0:e[2]?1:e[1]?2:-1}return~(t=s(e))&&(n=a[t]=i[t](e)),{c(){n&&n.c(),o=empty()},m(e,n){~t&&a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?~t&&a[t].p(e,r):(n&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros()),~t?(n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null)},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){~t&&a[t].d(e),e&&detach(o)}}}function instance$W(e,t,n){let o,r,i;var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{reader:s}=t,c=!1,l=null,u=null,d=null;const p=writable(lib$1.createGridConfig());component_subscribe(e,p,(e=>n(10,i=e)));const m=writable(lib$1.createGridCache());component_subscribe(e,m,(e=>n(9,r=e)));return e.$$set=e=>{n(6,t=assign(assign({},t),exclude_internal_props(e))),"reader"in e&&n(7,s=e.reader)},e.$$.update=()=>{var t;128&e.$$.dirty&&(t=s,a(void 0,void 0,void 0,(function*(){try{if(!t)return n(8,l=null),void n(1,u=null);n(2,d=null),n(0,c=!0);const e=yield apiCall("runners/load-reader",t);if(e.errorMessage)return n(0,c=!1),void n(2,d=e.errorMessage);n(8,l=e),n(1,u=new RowsArrayGrider(e.rows)),n(0,c=!1)}catch(e){n(0,c=!1),n(2,d="Loading failed"),console.error(e.response)}}))),1792&e.$$.dirty&&n(3,o=new lib$1.FreeTableGridDisplay(l,i,p.update,r,m.update))},t=exclude_internal_props(t),[c,u,d,o,p,m,t,s,l,r,i]}class PreviewDataGrid extends SvelteComponent{constructor(e){super(),init(this,e,instance$W,create_fragment$Y,safe_not_equal,{reader:7})}}function create_if_block_2$7(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Processing import/export ..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot(e){let t,n,o,r;n=new ImportExportConfigurator({props:{uploadedFile:e[1],openedFile:e[2],previewReaderStore:e[10]}});let i=e[4]&&create_if_block_2$7();return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","content svelte-nk47x3"),attr(t,"slot","1")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,o){const r={};2&o&&(r.uploadedFile=e[1]),4&o&&(r.openedFile=e[2]),n.$set(r),e[4]?i?16&o&&transition_in(i,1):(i=create_if_block_2$7(),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_default_slot_10(e){let t,n;return t=new RunnerOutputFiles({props:{runnerId:e[3],executeNumber:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.runnerId=e[3]),32&n&&(o.executeNumber=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_9(e){let t,n;return t=new SocketMessageView({props:{eventName:e[3]?`runner-info-${e[3]}`:null,executeNumber:e[5],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.eventName=e[3]?`runner-info-${e[3]}`:null),32&n&&(o.executeNumber=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8$1(e){let t,n;return t=new PreviewDataGrid({props:{reader:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n&&(o.reader=e[9]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7$1(e){let t,n,o,r;return t=new FormTextField({props:{label:"Schedule",name:"schedule"}}),o=new FormTextField({props:{label:"Start variable index",name:"startVariableIndex"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_6$2(e){let t,n,o,r,i,a,s,c;return t=new WidgetColumnBarItem({props:{title:"Output files",name:"output",height:"20%",$$slots:{default:[create_default_slot_10]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Messages",name:"messages",$$slots:{default:[create_default_slot_9]},$$scope:{ctx:e}}}),i=new WidgetColumnBarItem({props:{title:"Preview",name:"preview",skip:!e[9],$$slots:{default:[create_default_slot_8$1]},$$scope:{ctx:e}}}),s=new WidgetColumnBarItem({props:{title:"Advanced configuration",name:"config",collapsed:!0,$$slots:{default:[create_default_slot_7$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,n){const r={};16777256&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const a={};16777256&n&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const c={};512&n&&(c.skip=!e[9]),16777728&n&&(c.$$scope={dirty:n,ctx:e}),i.$set(c);const l={};16777216&n&&(l.$$scope={dirty:n,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create__2_slot(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot_6$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777768&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_5$2(e){let t,n;return t=new HorizontalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot],1:[create__1_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777790&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$e(e){let t,n;return t=new FontIcon({props:{icon:"icon loading"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_header_slot$2(e){let t,n,o,r=e[4]&&create_if_block_1$e();return{c(){t=text$1("Import/Export\n "),r&&r.c(),n=empty()},m(e,i){insert(e,t,i),r&&r.m(e,i),insert(e,n,i),o=!0},p(e,t){e[4]?r?16&t&&transition_in(r,1):(r=create_if_block_1$e(),r.c(),transition_in(r,1),r.m(n.parentNode,n)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){o||(transition_in(r),o=!0)},o(e){transition_out(r),o=!1},d(e){e&&detach(t),r&&r.d(e),e&&detach(n)}}}function create_else_block$a(e){let t,n;return t=new LargeFormButton({props:{icon:"icon run",$$slots:{default:[create_default_slot_4$3]},$$scope:{ctx:e}}}),t.$on("click",e[13]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777216&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$n(e){let t,n;return t=new LargeButton({props:{icon:"icon stop",$$slots:{default:[create_default_slot_3$9]},$$scope:{ctx:e}}}),t.$on("click",e[14]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777216&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4$3(e){let t;return{c(){t=text$1("Run")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_3$9(e){let t;return{c(){t=text$1("Stop")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_2$g(e){let t;return{c(){t=text$1("Generate script")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$i(e){let t;return{c(){t=text$1("Close")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$1(e){let t,n,o,r,i,a,s,c;const l=[create_if_block$n,create_else_block$a],u=[];function d(e,t){return e[4]?0:1}return n=d(e),o=u[n]=l[n](e),i=new LargeFormButton({props:{icon:"img sql-file",$$slots:{default:[create_default_slot_2$g]},$$scope:{ctx:e}}}),i.$on("click",e[12]),s=new LargeButton({props:{icon:"icon close",$$slots:{default:[create_default_slot_1$i]},$$scope:{ctx:e}}}),s.$on("click",closeCurrentModal),{c(){t=element("div"),o.c(),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),attr(t,"class","flex m-2")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,r),mount_component(i,t,null),append(t,a),mount_component(s,t,null),c=!0},p(e,a){let c=n;n=d(e),n===c?u[n].p(e,a):(group_outros(),transition_out(u[c],1,1,(()=>{u[c]=null})),check_outros(),o=u[n],o?o.p(e,a):(o=u[n]=l[n](e),o.c()),transition_in(o,1),o.m(t,r));const p={};16777216&a&&(p.$$scope={dirty:a,ctx:e}),i.$set(p);const m={};16777216&a&&(m.$$scope={dirty:a,ctx:e}),s.$set(m)},i(e){c||(transition_in(o),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),u[n].d(),destroy_component(i),destroy_component(s)}}}function create_default_slot$n(e){let t,n;const o=[e[15],{fullScreen:!0}];let r={$$slots:{footer:[create_footer_slot$1],header:[create_header_slot$2],default:[create_default_slot_5$2]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=32768&n?get_spread_update(o,[get_spread_object(e[15]),o[1]]):{};16777790&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$X(e){let t,n;return t=new FormProvider({props:{initialValues:{sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]},$$slots:{default:[create_default_slot$n]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};385&n&&(o.initialValues={sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]}),16810558&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$V(e,t,n){let o;const r=["initialValues","uploadedFile","openedFile","importToCurrentTarget"];let i,a,s,c,l,u,d=compute_rest_props(t,r),p=noop$3;component_subscribe(e,extensions,(e=>n(7,i=e))),component_subscribe(e,selectedWidget,(e=>n(18,a=e))),component_subscribe(e,currentArchive,(e=>n(8,s=e))),component_subscribe(e,currentDatabase,(e=>n(19,l=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let h=!1,f=0,g=null;const _=writable(null);component_subscribe(e,_,(e=>n(9,u=e)));let{initialValues:$}=t,{uploadedFile:b}=t,{openedFile:v}=t,{importToCurrentTarget:y=!1}=t;const x=createRef(null);const w=()=>{n(4,h=!1),x.get()&&(apiCall("archive/refresh-folders",{}),apiCall("archive/refresh-files",{folder:x.get()}),set_store_value(currentArchive,s=x.get(),s),set_store_value(selectedWidget,a="archive",a))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(15,d=compute_rest_props(t,r)),"initialValues"in e&&n(0,$=e.initialValues),"uploadedFile"in e&&n(1,b=e.uploadedFile),"openedFile"in e&&n(2,v=e.openedFile),"importToCurrentTarget"in e&&n(16,y=e.importToCurrentTarget)},e.$$.update=()=>{8&e.$$.dirty&&(n(6,o=useEffect((()=>{return(e=g)?(apiOn(`runner-done-${e}`,w),()=>{apiOff(`runner-done-${e}`,w)}):()=>{};var e}))),p(),p=subscribe(o,(e=>n(17,c=e)))),e.$$.dirty},[$,b,v,g,h,f,o,i,s,u,_,function(){var e;return y?l&&"archive"!=a?{targetStorageType:"database",targetConnectionId:null===(e=null==l?void 0:l.connection)||void 0===e?void 0:e._id,targetDatabaseName:null==l?void 0:l.name}:"default"==s?{targetStorageType:"archive",targetArchiveFolder:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`}:{targetStorageType:"archive",targetArchiveFolder:s}:{}},e=>m(void 0,void 0,void 0,(function*(){closeCurrentModal();openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:yield createImpExpScript(i,e.detail,void 0,!0)})})),e=>m(void 0,void 0,void 0,(function*(){if(h)return;const t=e.detail;n(4,h=!0);const o=yield createImpExpScript(i,t);n(5,f+=1);let r=g;r=(yield apiCall("runners/start",{script:o})).runid,n(3,g=r),"archive"==t.targetStorageType?x.set(t.targetArchiveFolder):x.set(null)})),()=>{apiCall("runners/cancel",{runid:g})},d,y,c]}class ImportExportModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$V,create_fragment$X,safe_not_equal,{initialValues:0,uploadedFile:1,openedFile:2,importToCurrentTarget:16})}}var ImportExportModal$1=ImportExportModal;function create_fragment$W(e){let t,n;const o=[e[4],{data:e[0]},{title:e[0].fileLabel},{icon:getArchiveIcon(e[1],e[0])},{menu:e[3]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[2]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=27&n?get_spread_update(o,[16&n&&get_spread_object(e[4]),1&n&&{data:e[0]},1&n&&{title:e[0].fileLabel},3&n&&{icon:getArchiveIcon(e[1],e[0])},8&n&&{menu:e[3]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$2=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function openArchive(e,t){openNewTab({title:e,icon:"img archive",tooltip:`${t}\n${e}`,tabComponent:"ArchiveFileTab",props:{archiveFile:e,archiveFolder:t}})}function openTextFile$1(e,t,n,o,r){return __awaiter$2(this,void 0,void 0,(function*(){let i;const a=yield apiCall("files/load",{folder:"archive:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:r,tabComponent:o,tooltip:i,props:Object.assign({savedFile:e+"."+t,savedFolder:"archive:"+n,savedFormat:"text",archiveFolder:n},{})},{editor:a})}))}const extractKey$6=e=>e.fileName,createMatcher$3=({fileName:e})=>t=>lib$4.filterName(t,e),ARCHIVE_ICONS={"table.yaml":"img table","view.sql":"img view","proc.sql":"img procedure","func.sql":"img function","trigger.sql":"img sql-file","matview.sql":"img view"};function getArchiveIcon(e,t){return"jsonl"==t.fileType?isArchiveFileMarkedAsDataSheet(e,t.folderName,t.fileName)?"img free-table":"img archive":ARCHIVE_ICONS[t.fileType]}function instance$U(e,t,n){const o=["data"];let r,i=compute_rest_props(t,o);component_subscribe(e,archiveFilesAsDataSheets,(e=>n(1,r=e)));var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:s}=t;const c=()=>{showModal(InputTextModal,{value:s.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("archive/rename-file",{file:s.fileName,folder:s.folderName,fileType:s.fileType,newFile:e})}})},l=()=>{showModal(ConfirmModal,{message:`Really delete file ${s.fileName}?`,onConfirm:()=>{apiCall("archive/delete-file",{file:s.fileName,folder:s.folderName,fileType:s.fileType})}})},u=()=>{markArchiveFileAsReadonly(s.folderName,s.fileName),openArchive(s.fileName,s.folderName)},d=()=>{markArchiveFileAsDataSheet(s.folderName,s.fileName),openNewTab({title:s.fileName,icon:"img free-table",tabComponent:"FreeTableTab",props:{initialArgs:{functionName:"archiveReader",props:{fileName:s.fileName,folderName:s.folderName}},archiveFile:s.fileName,archiveFolder:s.folderName}})},p=()=>{openTextFile$1(s.fileName,s.fileType,s.folderName,"QueryTab","img sql-file")},m=()=>{openTextFile$1(s.fileName,s.fileType,s.folderName,"YamlEditorTab","img yaml")},h=()=>{openTextFile$1(s.fileName,s.fileType,s.folderName,"JsonLinesEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,o)),"data"in e&&n(0,s=e.data)},[s,r,()=>{"jsonl"==s.fileType&&(isArchiveFileMarkedAsDataSheet(r,s.folderName,s.fileName)?d():u()),s.fileType.endsWith(".sql")&&p(),s.fileType.endsWith(".yaml")&&m()},function(){return["jsonl"==s.fileType&&{text:"Open (readonly)",onClick:u},"jsonl"==s.fileType&&{text:"Open as data sheet",onClick:d},"jsonl"==s.fileType&&{text:"Open in text editor",onClick:h},{text:"Delete",onClick:l},{text:"Rename",onClick:c},"jsonl"==s.fileType&&createQuickExportMenu((e=>()=>a(this,void 0,void 0,(function*(){exportQuickExportFile(s.fileName,{functionName:"archiveReader",props:{fileName:s.fileName,folderName:s.folderName}},e)}))),{text:"Export",onClick:()=>{showModal(ImportExportModal$1,{initialValues:{sourceStorageType:"archive",sourceArchiveFolder:s.folderName,sourceList:[s.fileName]}})}}),s.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:p},s.fileType.endsWith(".yaml")&&{text:"Open YAML",onClick:m}]},i]}class ArchiveFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$U,create_fragment$W,safe_not_equal,{data:0})}}var archiveFileAppObject=Object.freeze({__proto__:null,default:ArchiveFileAppObject,extractKey:extractKey$6,createMatcher:createMatcher$3});function create_default_slot_2$f(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$h(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search archive files"};function m(t){e[8](t)}void 0!==e[1]&&(p.value=e[1]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[1]&&(h.filter=e[1]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[5]}}),l=new InlineButton({props:{title:"Refresh files of selected archive folder",$$slots:{default:[create_default_slot_2$f]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2&o&&(i=!0,s.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(s);const c={};8192&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$m(e){let t,n;return t=new AppObjectList({props:{list:(e[3]||[]).map(e[9]),groupFunc:e[10],module:archiveFileAppObject,filter:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9&n&&(o.list=(e[3]||[]).map(e[9])),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$V(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$h]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$m]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};8194&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};8203&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const ARCHIVE_LABELS={jsonl:"JSON table data","table.yaml":"Tables","view.sql":"Views","proc.sql":"Procedures","func.sql":"Functions","trigger.sql":"Triggers","matview.sql":"Materialized views"};function instance$T(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,currentArchive,(e=>n(6,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l="";function u(){showModal(InputTextModal,{value:"",label:"New file name",header:"Create new data sheet",onConfirm:e=>c(this,void 0,void 0,(function*(){yield apiCall("archive/save-free-table",{folder:i,file:e,data:lib$1.createFreeTableModel()}),markArchiveFileAsDataSheet(i,e),openNewTab({title:e,icon:"img free-table",tabComponent:"FreeTableTab",props:{initialArgs:{functionName:"archiveReader",props:{fileName:e,folderName:i}},archiveFile:e,archiveFolder:i}})}))})}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=i),1&e.$$.dirty&&(n(2,r=useArchiveFiles({folder:o})),s(),s=subscribe(r,(e=>n(3,a=e))))},[o,l,r,a,()=>{apiCall("archive/refresh-files",{folder:o})},function(){return[{text:"New data sheet",onClick:u}]},i,function(e){l=e,n(1,l)},function(e){l=e,n(1,l)},e=>({fileName:e.name,folderName:o,fileType:e.type,fileLabel:e.label}),e=>ARCHIVE_LABELS[e.fileType]||"Archive"]}class ArchiveFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$T,create_fragment$V,safe_not_equal,{})}}function create_fragment$U(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].name.endsWith(".link")?e[0].name.slice(0,-5):e[0].name},{icon:e[0].name.endsWith(".link")?"img link":"img archive-folder"},{isBold:e[0].name==e[1]},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[4]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=15&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].name.endsWith(".link")?e[0].name.slice(0,-5):e[0].name},1&n&&{icon:e[0].name.endsWith(".link")?"img link":"img archive-folder"},3&n&&{isBold:e[0].name==e[1]},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$5=e=>e.name,createMatcher$2=e=>t=>lib$4.filterName(t,e.name);function instance$S(e,t,n){const o=["data"];let r,i,a=compute_rest_props(t,o);component_subscribe(e,currentDatabase,(e=>n(5,r=e))),component_subscribe(e,currentArchive,(e=>n(1,i=e)));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:c}=t;const l=()=>{showModal(ConfirmModal,{message:c.name.endsWith(".link")?`Really delete link to folder ${c.name}? Folder content remains untouched.`:`Really delete folder ${c.name}?`,onConfirm:()=>{apiCall("archive/delete-folder",{folder:c.name})}})},u=()=>{const e=c.name.endsWith(".link"),t=e?c.name.slice(0,-5):c.name,n=e?".link":"";showModal(InputTextModal,{value:t,label:"New folder name",header:"Rename folder",onConfirm:e=>s(void 0,void 0,void 0,(function*(){yield apiCall("archive/rename-folder",{folder:c.name,newFolder:e+n}),i==c.name&&set_store_value(currentArchive,i=e+n,i)}))})},d=()=>{openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:`// @require ${lib$4.extractPackageName(r.connection.engine)}\n \nawait dbgateApi.deployDb(${JSON.stringify({connection:Object.assign(Object.assign({},_.omit(r.connection,"_id","displayName")),{database:r.name}),modelFolder:`archive:${c.name}`},void 0,2)})`})},p=()=>s(void 0,void 0,void 0,(function*(){const e=yield apiCall("database-connections/generate-deploy-sql",{conid:r.connection._id,database:r.name,archiveFolder:c.name});e.errorMessage?showModal(ErrorMessageModal,{message:e.errorMessage}):newQuery({initialData:e.sql})})),m=()=>{openNewTab({title:"Compare",icon:"img compare",tabComponent:"CompareModelTab"},{editor:{sourceConid:"__model",sourceDatabase:`archive:${c.name}`,targetConid:_.get(r,"connection._id"),targetDatabase:_.get(r,"name")}})};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,a=compute_rest_props(t,o)),"data"in e&&n(0,c=e.data)},[c,i,function(){return["default"!=c.name&&{text:"Delete",onClick:l},"default"!=c.name&&{text:"Rename",onClick:u},"default"!=c.name&&r&&[{text:"Generate deploy DB SQL - experimental",onClick:p},{text:"Shell: Deploy DB - experimental",onClick:d}],"default"!=c.name&&_.get(r,"connection._id")&&{onClick:m,text:`Compare with ${_.get(r,"name")}`}]},a,()=>set_store_value(currentArchive,i=c.name,i)]}class ArchiveFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$S,create_fragment$U,safe_not_equal,{data:0})}}var archiveFolderAppObject=Object.freeze({__proto__:null,default:ArchiveFolderAppObject,extractKey:extractKey$5,createMatcher:createMatcher$2});function create_default_slot_3$8(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$e(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$g(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[4](t)}let p={placeholder:"Search archive folders"};function m(t){e[5](t)}void 0!==e[0]&&(p.value=e[0]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[0]&&(h.filter=e[0]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new InlineButton({props:{title:"Add new archive folder",$$slots:{default:[create_default_slot_3$8]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh archive folder list",$$slots:{default:[create_default_slot_2$e]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const u={};128&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};128&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$l(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[2],"name"),module:archiveFolderAppObject,filter:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.list=_.sortBy(e[2],"name")),1&n&&(o.filter=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$T(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$g]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$l]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};129&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};133&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$R(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="";return n(1,o=useArchiveFolders()),i(),i=subscribe(o,(e=>n(2,r=e))),[a,o,r,()=>{apiCall("archive/refresh-folders")},function(e){a=e,n(0,a)},function(e){a=e,n(0,a)},()=>runCommand("new.archiveFolder")]}class ArchiveFolderList extends SvelteComponent{constructor(e){super(),init(this,e,instance$R,create_fragment$T,safe_not_equal,{})}}function create_default_slot_2$d(e){let t,n;return t=new ArchiveFolderList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$f(e){let t,n;return t=new ArchiveFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$k(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Archive folders, DB models",name:"folders",height:"50%",storageName:"archiveFoldersWidget",$$slots:{default:[create_default_slot_2$d]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Files, Tables, Views, Functions",name:"files",storageName:"archiveFilesWidget",$$slots:{default:[create_default_slot_1$f]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$S(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$k]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class ArchiveWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$S,safe_not_equal,{})}}function create_fragment$R(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy((e[4]||[]).filter(e[5]),func_1$3).map(e[6]),module:databaseAppObject,passProps:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};19&n&&(o.list=_.sortBy((e[4]||[]).filter(e[5]),func_1$3).map(e[6])),4&n&&(o.passProps=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func_1$3=e=>e.sortOrder??e.name;function instance$Q(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let{filter:a}=t,{data:s}=t,{passProps:c}=t;return e.$$set=e=>{"filter"in e&&n(0,a=e.filter),"data"in e&&n(1,s=e.data),"passProps"in e&&n(2,c=e.passProps)},e.$$.update=()=>{2&e.$$.dirty&&(n(3,o=useDatabaseList({conid:s._id})),i(),i=subscribe(o,(e=>n(4,r=e))))},[a,s,c,o,r,e=>lib$4.filterName(a,e.name),e=>({...e,connection:s})]}class SubDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$Q,create_fragment$R,safe_not_equal,{filter:0,data:1,passProps:2})}}function create_if_block_1$d(e){let t,n;return t=new InlineButton({props:{title:"Add new connection",$$slots:{default:[create_default_slot_4$2]},$$scope:{ctx:e}}}),t.$on("click",e[16]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4194304&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4$2(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$7(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$c(e){let t,n,o,r,i,a,s,c,l;function u(t){e[14](t)}let d={placeholder:"Search connection or database"};function p(t){e[15](t)}void 0!==e[2]&&(d.value=e[2]),t=new SearchInput({props:d}),binding_callbacks.push((()=>bind(t,"value",u)));let m={};void 0!==e[2]&&(m.filter=e[2]),r=new CloseSearchButton({props:m}),binding_callbacks.push((()=>bind(r,"filter",p)));let h=e[4]["new.connection"]?.enabled&&create_if_block_1$d(e);return c=new InlineButton({props:{title:"Refresh connection list",$$slots:{default:[create_default_slot_3$7]},$$scope:{ctx:e}}}),c.$on("click",e[10]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),h&&h.c(),s=space(),create_component(c.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),h&&h.m(e,n),insert(e,s,n),mount_component(c,e,n),l=!0},p(e,o){const a={};!n&&4&o&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const l={};!i&&4&o&&(i=!0,l.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(l),e[4]["new.connection"]?.enabled?h?(h.p(e,o),16&o&&transition_in(h,1)):(h=create_if_block_1$d(e),h.c(),transition_in(h,1),h.m(s.parentNode,s)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros());const u={};4194304&o&&(u.$$scope={dirty:o,ctx:e}),c.$set(u)},i(e){l||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(h),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(h),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),h&&h.d(e),e&&detach(s),destroy_component(c,e)}}}function create_if_block$m(e){let t,n;return t=new LargeButton({props:{icon:"icon new-connection",fillHorizontal:!0,$$slots:{default:[create_default_slot_1$e]},$$scope:{ctx:e}}}),t.$on("click",e[21]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4194304&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$e(e){let t;return{c(){t=text$1("Add new connection")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$j(e){let t,n,o,r,i=e[1]&&!e[1].find(func$4)&&0==e[0].length&&e[4]["new.connection"]?.enabled&&!e[7].find(func_1$2);t=new AppObjectList({props:{list:_.sortBy(e[3],e[17]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[18],filter:e[2],passProps:{connectionColorFactory:e[5],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[19],setIsExpanded:e[20]}});let a=i&&create_if_block$m(e);return{c(){create_component(t.$$.fragment),n=space(),a&&a.c(),o=empty()},m(e,i){mount_component(t,e,i),insert(e,n,i),a&&a.m(e,i),insert(e,o,i),r=!0},p(e,n){const r={};8&n&&(r.list=_.sortBy(e[3],e[17])),1&n&&(r.isExpandable=e[18]),4&n&&(r.filter=e[2]),32&n&&(r.passProps={connectionColorFactory:e[5],showPinnedInsteadOfUnpin:!0}),64&n&&(r.getIsExpanded=e[19]),t.$set(r),147&n&&(i=e[1]&&!e[1].find(func$4)&&0==e[0].length&&e[4]["new.connection"]?.enabled&&!e[7].find(func_1$2)),i?a?(a.p(e,n),147&n&&transition_in(a,1)):(a=create_if_block$m(e),a.c(),transition_in(a,1),a.m(o.parentNode,o)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(a),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(a),r=!1},d(e){destroy_component(t,e),e&&detach(n),a&&a.d(e),e&&detach(o)}}}function create_fragment$Q(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_2$c]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$j]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};4194324&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};4194559&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const func$4=e=>!e.unsaved,func_1$2=e=>!e.closedTime&&"ConnectionTab"==e.tabComponent&&!e.props?.conid;function instance$P(e,t,n){let o,r,i,a,s,c,l,u,d;component_subscribe(e,openedConnections,(e=>n(0,i=e))),component_subscribe(e,commandsCustomized,(e=>n(4,c=e))),component_subscribe(e,expandedConnections,(e=>n(6,u=e))),component_subscribe(e,openedTabs,(e=>n(7,d=e)));const p=useConnectionList();component_subscribe(e,p,(e=>n(1,a=e)));const m=useServerStatus();component_subscribe(e,m,(e=>n(13,s=e)));let h="";const f=useConnectionColorFactory(3);component_subscribe(e,f,(e=>n(5,l=e)));return e.$$.update=()=>{8194&e.$$.dirty&&n(12,o=a&&s?a.map((e=>Object.assign(Object.assign({},e),{status:s[e._id]}))):a),4097&e.$$.dirty&&n(3,r=null==o?void 0:o.filter((e=>!e.unsaved||i.includes(e._id))))},[i,a,h,r,c,l,u,d,p,m,()=>{for(const e of i)apiCall("server-connections/refresh",{conid:e})},f,o,s,function(e){h=e,n(2,h)},function(e){h=e,n(2,h)},()=>runCommand("new.connection"),e=>(getConnectionLabel(e)||"").toUpperCase(),e=>i.includes(e._id)&&!e.singleDatabase,e=>u.includes(e._id)&&!e.singleDatabase,(e,t)=>expandedConnections.update((n=>t?[...n,e._id]:n.filter((t=>t!=e._id)))),()=>runCommand("new.connection")]}class ConnectionList extends SvelteComponent{constructor(e){super(),init(this,e,instance$P,create_fragment$Q,safe_not_equal,{})}}function create_else_block$9(e){let t,n;const o=[e[1]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DatabaseAppObject({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=2&n?get_spread_update(o,[get_spread_object(e[1])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$l(e){let t,n;const o=[e[1]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DatabaseObjectAppObject({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=2&n?get_spread_update(o,[get_spread_object(e[1])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$P(e){let t,n,o,r;const i=[create_if_block$l,create_else_block$9],a=[];function s(e,t){return e[0].objectTypeField?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const extractKey$4=e=>e.objectTypeField?`${e.objectTypeField}||${e.schemaName}||${e.pureName}`:e.connection._id;function instance$O(e,t,n){let{data:o}=t;return e.$$set=e=>{n(1,t=assign(assign({},t),exclude_internal_props(e))),"data"in e&&n(0,o=e.data)},t=exclude_internal_props(t),[o,t]}class PinnedAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$O,create_fragment$P,safe_not_equal,{data:0})}}var pinnedAppObject=Object.freeze({__proto__:null,default:PinnedAppObject,extractKey:extractKey$4});function create_default_slot$i(e){let t,n;return t=new AppObjectList({props:{list:[...e[1],...e[0]],module:pinnedAppObject,passProps:{connectionColorFactory:e[2]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};3&n&&(o.list=[...e[1],...e[0]]),4&n&&(o.passProps={connectionColorFactory:e[2]}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$O(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$i]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};71&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$N(e,t,n){let o,r,i,a,s;component_subscribe(e,currentDatabase,(e=>n(4,r=e))),component_subscribe(e,pinnedTables,(e=>n(5,i=e))),component_subscribe(e,pinnedDatabases,(e=>n(1,a=e)));const c=useConnectionColorFactory(3);return component_subscribe(e,c,(e=>n(2,s=e))),e.$$.update=()=>{48&e.$$.dirty&&n(0,o=i.filter((e=>{var t;return e.conid==(null===(t=null==r?void 0:r.connection)||void 0===t?void 0:t._id)&&e.database==(null==r?void 0:r.name)})))},[o,a,s,c,r,i]}class PinnedObjectsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$N,create_fragment$O,safe_not_equal,{})}}function create_fragment$N(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].columnName},{extInfo:e[1]},{icon:getColumnIcon(e[0],!0)},{menu:e[2]},{disableHover:!0}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=15&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].columnName},2&n&&{extInfo:e[1]},1&n&&{icon:getColumnIcon(e[0],!0)},4&n&&{menu:e[2]},o[6]]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$3=({columnName:e})=>e;function instance$M(e,t,n){let o;const r=["data"];let i=compute_rest_props(t,r),{data:a}=t;function s(){renameDatabaseObjectDialog(a.conid,a.database,a.columnName,((e,t)=>{e.tables.find((e=>e.schemaName==a.schemaName&&e.pureName==a.pureName)).columns.find((e=>e.columnName==a.columnName)).columnName=t}))}function c(){alterDatabaseDialog(a.conid,a.database,(e=>{const t=e.tables.find((e=>e.schemaName==a.schemaName&&e.pureName==a.pureName));_.remove(t.columns,(e=>e.columnName==a.columnName))}))}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,r)),"data"in e&&n(0,a=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(1,o=a.foreignKey?`${a.dataType} -> ${a.foreignKey.refTableName}`:a.dataType)},[a,o,function(){return[{text:"Rename column",onClick:s},{text:"Drop column",onClick:c}]},i]}class ColumnAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$M,create_fragment$N,safe_not_equal,{data:0})}}var columnAppObject=Object.freeze({__proto__:null,default:ColumnAppObject,extractKey:extractKey$3});function create_fragment$M(e){let t,n;return t=new AppObjectList({props:{list:(e[0].columns||[]).map(e[1]),module:columnAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.list=(e[0].columns||[]).map(e[1])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$L(e,t,n){let{data:o}=t;return e.$$set=e=>{"data"in e&&n(0,o=e.data)},[o,e=>({...o,...e,foreignKey:lib$4.findForeignKeyForColumn(o,e)})]}class SubColumnParamList extends SvelteComponent{constructor(e){super(),init(this,e,instance$L,create_fragment$M,safe_not_equal,{data:0})}}function create_else_block$8(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_7]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_6$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};16777224&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};16778287&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_1$c(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777234&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$k(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$h]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16778240&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[20](t)}let p={placeholder:"Search tables or objects"};function m(t){e[21](t)}void 0!==e[3]&&(p.value=e[3]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[3]&&(h.filter=e[3]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[12]}}),l=new InlineButton({props:{title:"Refresh database connection and object list",$$slots:{default:[create_default_slot_8]},$$scope:{ctx:e}}}),l.$on("click",e[11]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&8&o&&(n=!0,a.value=e[3],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&8&o&&(i=!0,s.filter=e[3],add_flush_callback((()=>i=!1))),r.$set(s);const c={};16777216&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_else_block_1$1(e){let t,n;return t=new AppObjectList({props:{list:e[5].map(e[22]),module:databaseObjectAppObject,groupFunc:e[23],subItemsComponent:SubColumnParamList,isExpandable:func_2$1,expandIconFunc:chevronExpandIcon,filter:e[3],passProps:{showPinnedInsteadOfUnpin:!0}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};35&n&&(o.list=e[5].map(e[22])),8&n&&(o.filter=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$3(e){let t,n;return t=new LoadingInfo({props:{message:"Loading database structure"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6$1(e){let t,n,o,r;const i=[create_if_block_4$3,create_else_block_1$1],a=[];function s(e,t){return e[10]&&("pending"==e[10].name||"checkStructure"==e[10].name||"loadStructure"==e[10].name)&&e[2]||!e[2]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot_5$1(e){let t;return{c(){t=text$1("Refresh")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_3$5(e){let t,n,o,r;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_4$1]},$$scope:{ctx:e}}}),o.$on("click",e[18]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,i){insert(e,t,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,t){const n={};16777216&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_4$1(e){let t;return{c(){t=text$1("New table")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_2$6(e){let t,n,o,r;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_3$6]},$$scope:{ctx:e}}}),o.$on("click",e[19]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,i){insert(e,t,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,t){const n={};16777216&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_3$6(e){let t;return{c(){t=text$1("New collection")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_2$b(e){let t,n,o,r,i,a,s,c,l,u=e[4]?.databaseEngineTypes?.includes("sql"),d=e[4]?.databaseEngineTypes?.includes("document");t=new ErrorInfo({props:{message:`Database ${e[1]} is empty or structure is not loaded, press Refresh button to reload structure`,icon:"img alert"}}),i=new InlineButton({props:{$$slots:{default:[create_default_slot_5$1]},$$scope:{ctx:e}}}),i.$on("click",e[11]);let p=u&&create_if_block_3$5(e),m=d&&create_if_block_2$6(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),r=space(),create_component(i.$$.fragment),a=space(),p&&p.c(),s=space(),m&&m.c(),c=empty(),attr(o,"class","m-1")},m(e,u){mount_component(t,e,u),insert(e,n,u),insert(e,o,u),insert(e,r,u),mount_component(i,e,u),insert(e,a,u),p&&p.m(e,u),insert(e,s,u),m&&m.m(e,u),insert(e,c,u),l=!0},p(e,n){const o={};2&n&&(o.message=`Database ${e[1]} is empty or structure is not loaded, press Refresh button to reload structure`),t.$set(o);const r={};16777216&n&&(r.$$scope={dirty:n,ctx:e}),i.$set(r),16&n&&(u=e[4]?.databaseEngineTypes?.includes("sql")),u?p?(p.p(e,n),16&n&&transition_in(p,1)):(p=create_if_block_3$5(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),16&n&&(d=e[4]?.databaseEngineTypes?.includes("document")),d?m?(m.p(e,n),16&n&&transition_in(m,1)):(m=create_if_block_2$6(e),m.c(),transition_in(m,1),m.m(c.parentNode,c)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros())},i(e){l||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(p),transition_in(m),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(p),transition_out(m),l=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(r),destroy_component(i,e),e&&detach(a),p&&p.d(e),e&&detach(s),m&&m.d(e),e&&detach(c)}}}function create_default_slot_1$d(e){let t;return{c(){t=text$1("Refresh")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$h(e){let t,n,o,r;return t=new ErrorInfo({props:{message:e[10].message,icon:"img error"}}),o=new InlineButton({props:{$$slots:{default:[create_default_slot_1$d]},$$scope:{ctx:e}}}),o.$on("click",e[11]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1024&n&&(r.message=e[10].message),t.$set(r);const i={};16777216&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$L(e){let t,n,o,r;const i=[create_if_block$k,create_if_block_1$c,create_else_block$8],a=[];function s(e,t){return e[10]&&"error"==e[10].name?0:0==e[5].length&&e[10]&&"pending"!=e[10].name&&"checkStructure"!=e[10].name&&"loadStructure"!=e[10].name&&e[2]?1:2}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const func_2$1=e=>"tables"==e.objectTypeField||"views"==e.objectTypeField||"matviews"==e.objectTypeField;function instance$K(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f,g=noop$3,$=noop$3,b=noop$3,v=noop$3;component_subscribe(e,currentDatabase,(e=>n(15,p=e))),component_subscribe(e,extensions,(e=>n(16,m=e))),e.$$.on_destroy.push((()=>g())),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b())),e.$$.on_destroy.push((()=>v()));let{conid:y}=t,{database:x}=t,w="";return e.$$set=e=>{"conid"in e&&n(0,y=e.conid),"database"in e&&n(1,x=e.database)},e.$$.update=()=>{3&e.$$.dirty&&(n(9,o=useDatabaseInfo({conid:y,database:x})),g(),g=subscribe(o,(e=>n(2,u=e)))),3&e.$$.dirty&&(n(8,r=useDatabaseStatus({conid:y,database:x})),v(),v=subscribe(r,(e=>n(10,f=e)))),1&e.$$.dirty&&(n(7,i=useConnectionInfo({conid:y})),b(),b=subscribe(i,(e=>n(17,h=e)))),196608&e.$$.dirty&&n(4,a=lib$4.findEngineDriver(h,m)),49152&e.$$.dirty&&n(13,c=filterAppsForDatabase(null==p?void 0:p.connection,null==p?void 0:p.name,d||[])),8196&e.$$.dirty&&n(5,l=_.flatten([...["tables","collections","views","matviews","procedures","functions"].map((e=>_.sortBy(((u||{})[e]||[]).map((t=>Object.assign(Object.assign({},t),{objectTypeField:e}))),["schemaName","pureName"]))),...c.map((e=>e.queries.map((t=>({objectTypeField:"queries",pureName:t.name,schemaName:e.name,sql:t.sql})))))]))},n(6,s=useUsedApps()),$(),$=subscribe(s,(e=>n(14,d=e))),[y,x,u,w,a,l,s,i,r,o,f,()=>{apiCall("database-connections/refresh",{conid:y,database:x})},function(){var e,t;const n=[];return(null===(e=null==a?void 0:a.databaseEngineTypes)||void 0===e?void 0:e.includes("document"))&&n.push({command:"new.collection"}),(null===(t=null==a?void 0:a.databaseEngineTypes)||void 0===t?void 0:t.includes("sql"))&&n.push({command:"new.table"}),a&&n.push(...a.getNewObjectTemplates().map((e=>({text:e.label,onClick:()=>{newQuery({initialData:e.sql})}})))),n},c,d,p,m,h,()=>runCommand("new.table"),()=>runCommand("new.collection"),function(e){w=e,n(3,w)},function(e){w=e,n(3,w)},e=>({...e,conid:y,database:x}),e=>getObjectTypeFieldLabel(e.objectTypeField)]}class SqlObjectList extends SvelteComponent{constructor(e){super(),init(this,e,instance$K,create_fragment$L,safe_not_equal,{conid:0,database:1})}}function create_default_slot_3$5(e){let t,n;return t=new TextField({props:{value:e[2]}}),t.$on("change",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$a(e){let t,n;return t=new SelectField({props:{options:e[0].supportedKeyTypes.map(func$3),value:e[3],isNative:!0}}),t.$on("change",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.options=e[0].supportedKeyTypes.map(func$3)),8&n&&(o.value=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$c(e){let t,n,o,r,i,a,s,c,l;return n=new FormFieldTemplateLarge({props:{label:"Key",type:"text",noMargin:!0,$$slots:{default:[create_default_slot_3$5]},$$scope:{ctx:e}}}),a=new FormFieldTemplateLarge({props:{label:"Type",type:"combo",noMargin:!0,$$slots:{default:[create_default_slot_2$a]},$$scope:{ctx:e}}}),c=new DbKeyItemDetail({props:{dbKeyFields:e[0].supportedKeyTypes.find(e[12]).dbKeyFields,item:e[1],onChangeItem:e[13]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=space(),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(r,"class","m-3"),attr(t,"class","container svelte-eg2ir1")},m(e,u){insert(e,t,u),mount_component(n,t,null),append(t,o),append(t,r),append(t,i),mount_component(a,t,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){const o={};32772&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};32777&t&&(r.$$scope={dirty:t,ctx:e}),a.$set(r);const i={};9&t&&(i.dbKeyFields=e[0].supportedKeyTypes.find(e[12]).dbKeyFields),2&t&&(i.item=e[1]),2&t&&(i.onChangeItem=e[13]),c.$set(i)},i(e){l||(transition_in(n.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(a),destroy_component(c)}}}function create_header_slot$1(e){let t;return{c(){t=text$1("Add key")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot(e){let t,n,o,r;return t=new FormStyledButton({props:{value:"OK"}}),t.$on("click",e[9]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$g(e){let t,n;const o=[e[5]];let r={$$slots:{footer:[create_footer_slot],header:[create_header_slot$1],default:[create_default_slot_1$c]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=32&n?get_spread_update(o,[get_spread_object(e[5])]):{};32783&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$K(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$g]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};32815&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$3=e=>({value:e.name,label:e.label});function instance$J(e,t,n){const o=["conid","database","driver","onConfirm"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{conid:a}=t,{database:s}=t,{driver:c}=t,{onConfirm:l}=t,u={},d="",p=c.supportedKeyTypes[0].name;const m=()=>i(void 0,void 0,void 0,(function*(){closeCurrentModal(),l(Object.assign({type:p,keyName:d},u))}));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(5,r=compute_rest_props(t,o)),"conid"in e&&n(6,a=e.conid),"database"in e&&n(7,s=e.database),"driver"in e&&n(0,c=e.driver),"onConfirm"in e&&n(8,l=e.onConfirm)},[c,u,d,p,m,r,a,s,l,e=>m(),e=>{n(2,d=e.target.value)},e=>{n(3,p=e.detail)},e=>e.name==p,e=>{n(1,u=e)}]}class AddDbKeyModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$J,create_fragment$K,safe_not_equal,{conid:6,database:7,driver:0,onConfirm:8})}}function create_if_block$j(e){let t,n;return t=new DbKeysSubTree({props:{conid:e[0],database:e[1],root:e[3].root,indentLevel:e[4]+1,reloadToken:e[7],connection:e[2],filter:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),8&n&&(o.root=e[3].root),16&n&&(o.indentLevel=e[4]+1),128&n&&(o.reloadToken=e[7]),4&n&&(o.connection=e[2]),32&n&&(o.filter=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$J(e){let t,n,o,r;t=new AppObjectCore({props:{icon:lib$4.getIconForRedisType(e[3].type),title:e[3].text,expandIcon:"dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box",extInfo:e[3].count?`(${e[3].count})`:null,indentLevel:e[4],menu:e[9]}}),t.$on("expand",e[12]),t.$on("click",e[13]);let i=e[6]&&create_if_block$j(e);return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,[n]){const r={};8&n&&(r.icon=lib$4.getIconForRedisType(e[3].type)),8&n&&(r.title=e[3].text),72&n&&(r.expandIcon="dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box"),8&n&&(r.extInfo=e[3].count?`(${e[3].count})`:null),16&n&&(r.indentLevel=e[4]),t.$set(r),e[6]?i?(i.p(e,n),64&n&&transition_in(i,1)):(i=create_if_block$j(e),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function instance$I(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(8,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i,{conid:a}=t,{database:s}=t,{connection:c}=t,{root:l}=t,{item:u}=t,{indentLevel:d=0}=t,{filter:p}=t,{onRefreshParent:m}=t,h=0;return e.$$set=e=>{"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database),"connection"in e&&n(2,c=e.connection),"root"in e&&n(10,l=e.root),"item"in e&&n(3,u=e.item),"indentLevel"in e&&n(4,d=e.indentLevel),"filter"in e&&n(5,p=e.filter),"onRefreshParent"in e&&n(11,m=e.onRefreshParent)},[a,s,c,u,d,p,i,h,o,function(){return[null!=u.key&&!(null==c?void 0:c.isReadOnly)&&{label:"Delete key",onClick:()=>{showModal(ConfirmModal,{message:`Really delete key ${u.key}?`,onConfirm:()=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"del",args:[u.key]}),m&&m()}))})}},null!=u.key&&!(null==c?void 0:c.isReadOnly)&&{label:"Rename key",onClick:()=>{showModal(InputTextModal,{value:u.key,label:"New name",header:"Rename key",onConfirm:e=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"rename",args:[u.key,e]}),m&&m()}))})}},"dir"==u.type&&!(null==c?void 0:c.isReadOnly)&&{label:"Reload",onClick:()=>{n(7,h+=1)}},"dir"==u.type&&!(null==c?void 0:c.isReadOnly)&&{label:"Delete branch",onClick:()=>{const e=`${u.root}:*`;showModal(ConfirmModal,{message:`Really delete branch ${e} with all keys?`,onConfirm:()=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"mdel",args:[e]}),m&&m()}))})}},,{label:"Generate script",onClick:()=>r(this,void 0,void 0,(function*(){const e=yield apiCall("database-connections/export-keys",{conid:a,database:s,options:{keyPrefix:u.root||u.key}});e.errorMessage?showSnackbarError(e.errorMessage):newQuery({title:"Export #",initialData:e})}))}]},l,m,()=>{"dir"==u.type&&n(6,i=!i)},()=>{"dir"==u.type?n(6,i=!i):(openNewTab({tabComponent:"DbKeyDetailTab",title:u.text,icon:"img keydb",props:{isDefaultBrowser:!0,conid:a,database:s}}),set_store_value(activeDbKeysStore,o={...o,[`${a}:${s}`]:u.key},o))}]}class DbKeysTreeNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$I,create_fragment$J,safe_not_equal,{conid:0,database:1,connection:2,root:10,item:3,indentLevel:4,filter:5,onRefreshParent:11})}}function get_then_context(e){const t=_.sortBy(e[11]||[],"text");e[12]=t}function get_each_context$c(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_catch_block(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block(e){let t,n,o;get_then_context(e);let r=e[12].slice(0,e[8]),i=[];for(let t=0;t<r.length;t+=1)i[t]=create_each_block$c(get_each_context$c(e,r,t));const a=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));let s=e[12].length>e[8]&&create_if_block$i(e);return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=space(),s&&s.c(),n=empty()},m(e,r){for(let t=0;t<i.length;t+=1)i[t].m(e,r);insert(e,t,r),s&&s.m(e,r),insert(e,n,r),o=!0},p(e,o){if(get_then_context(e),511&o){let n;for(r=e[12].slice(0,e[8]),n=0;n<r.length;n+=1){const a=get_each_context$c(e,r,n);i[n]?(i[n].p(a,o),transition_in(i[n],1)):(i[n]=create_each_block$c(a),i[n].c(),transition_in(i[n],1),i[n].m(t.parentNode,t))}for(group_outros(),n=r.length;n<i.length;n+=1)a(n);check_outros()}e[12].length>e[8]?s?(s.p(e,o),471&o&&transition_in(s,1)):(s=create_if_block$i(e),s.c(),transition_in(s,1),s.m(n.parentNode,n)):s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros())},i(e){if(!o){for(let e=0;e<r.length;e+=1)transition_in(i[e]);transition_in(s),o=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);transition_out(s),o=!1},d(e){destroy_each(i,e),e&&detach(t),s&&s.d(e),e&&detach(n)}}}function create_each_block$c(e){let t,n;return t=new DbKeysTreeNode({props:{conid:e[0],database:e[1],root:e[2],connection:e[5],item:e[13],filter:e[6],indentLevel:e[3],onRefreshParent:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),4&n&&(o.root=e[2]),32&n&&(o.connection=e[5]),471&n&&(o.item=e[13]),64&n&&(o.filter=e[6]),8&n&&(o.indentLevel=e[3]),128&n&&(o.onRefreshParent=e[9]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$i(e){let t,n;return t=new AppObjectCore({props:{indentLevel:e[3],title:"Show more...",icon:"icon dots-horizontal",expandIcon:"icon invisible-box"}}),t.$on("click",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.indentLevel=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_pending_block(e){let t,n;return t=new LoadingInfo({props:{message:"Loading key list",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$I(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block,then:create_then_block,catch:create_catch_block,value:11,blocks:[,,,]};return handle_promise(n=apiCall("database-connections/load-keys",{conid:e[0],database:e[1],root:e[2],filter:e[6],reloadToken:e[4],reloadToken2:e[7]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,[o]){e=t,r.ctx=e,215&o&&n!==(n=apiCall("database-connections/load-keys",{conid:e[0],database:e[1],root:e[2],filter:e[6],reloadToken:e[4],reloadToken2:e[7]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}const SHOW_INCREMENT=500;function instance$H(e,t,n){let{conid:o}=t,{database:r}=t,{root:i}=t,{indentLevel:a=0}=t,{reloadToken:s=0}=t,{connection:c}=t,{filter:l}=t,u=0,d=SHOW_INCREMENT;return e.$$set=e=>{"conid"in e&&n(0,o=e.conid),"database"in e&&n(1,r=e.database),"root"in e&&n(2,i=e.root),"indentLevel"in e&&n(3,a=e.indentLevel),"reloadToken"in e&&n(4,s=e.reloadToken),"connection"in e&&n(5,c=e.connection),"filter"in e&&n(6,l=e.filter)},[o,r,i,a,s,c,l,u,d,()=>{n(7,u+=1)},()=>{n(8,d+=SHOW_INCREMENT)}]}class DbKeysSubTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$H,create_fragment$I,safe_not_equal,{conid:0,database:1,root:2,indentLevel:3,reloadToken:4,connection:5,filter:6})}}function create_default_slot_3$4(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$9(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$b(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search keys",isDebounced:!0};function m(t){e[8](t)}void 0!==e[2]&&(p.value=e[2]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[2]&&(h.filter=e[2]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new InlineButton({props:{title:"Add new key",$$slots:{default:[create_default_slot_3$4]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh key list",$$slots:{default:[create_default_slot_2$9]},$$scope:{ctx:e}}}),l.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&4&o&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&4&o&&(i=!0,c.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(c);const u={};1024&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};1024&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$f(e){let t,n;return t=new DbKeysSubTree({props:{conid:e[0],database:e[1],root:"",reloadToken:e[3],connection:e[4]?.connection,filter:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),8&n&&(o.reloadToken=e[3]),16&n&&(o.connection=e[4]?.connection),4&n&&(o.filter=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$H(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$b]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$f]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};1028&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1055&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$G(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(4,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i,{conid:a}=t,{database:s}=t,c=0;function l(){n(3,c+=1)}return e.$$set=e=>{"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database)},[a,s,i,c,o,l,function(){const e=null==o?void 0:o.connection,t=null==o?void 0:o.name,n=lib$4.findEngineDriver(e,getExtensions());showModal(AddDbKeyModal,{conid:e._id,database:t,driver:n,onConfirm:o=>r(this,void 0,void 0,(function*(){const r=n.supportedKeyTypes.find((e=>e.name==o.type));yield apiCall("database-connections/call-method",{conid:e._id,database:t,method:r.addMethod,args:[o.keyName,...r.dbKeyFields.map((e=>o[e.name]))]}),l()}))})},function(e){i=e,n(2,i)},function(e){i=e,n(2,i)}]}class DbKeysTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$G,create_fragment$H,safe_not_equal,{conid:0,database:1})}}function create_if_block_3$4(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Connections",name:"connections",height:"35%",storageName:"connectionsWidget",$$slots:{default:[create_default_slot_6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6(e){let t,n;return t=new ConnectionList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_5(e){let t,n;return t=new PinnedObjectsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$7(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Database content",name:"dbObjects",storageName:"dbObjectsWidget",$$slots:{default:[create_default_slot_3$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65536&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$h(e){let t,n,o,r,i,a;const s=[create_if_block_1$b,create_if_block_2$5],c=[];function l(e,o){return 64&o&&(t=null),64&o&&(n=null),null==t&&(t=!(!e[6]?.databaseEngineTypes?.includes("sql")&&!e[6]?.databaseEngineTypes?.includes("document"))),t?0:(null==n&&(n=!!e[6]?.databaseEngineTypes?.includes("keyvalue")),n?1:-1)}return~(o=l(e,-1))&&(r=c[o]=s[o](e)),{c(){r&&r.c(),i=empty()},m(e,t){~o&&c[o].m(e,t),insert(e,i,t),a=!0},p(e,t){let n=o;o=l(e,t),o===n?~o&&c[o].p(e,t):(r&&(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros()),~o?(r=c[o],r?r.p(e,t):(r=c[o]=s[o](e),r.c()),transition_in(r,1),r.m(i.parentNode,i)):r=null)},i(e){a||(transition_in(r),a=!0)},o(e){transition_out(r),a=!1},d(e){~o&&c[o].d(e),e&&detach(i)}}}function create_default_slot_4(e){let t,n;return t=new ErrorInfo({props:{message:"Database not selected",icon:"img alert"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$3(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65536&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$5(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Keys",name:"dbObjects",storageName:"dbObjectsWidget",$$slots:{default:[create_default_slot_2$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65546&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$b(e){let t,n;return t=new WidgetColumnBarItem({props:{title:e[6]?.databaseEngineTypes?.includes("document")?"Collections":"Tables, views, functions",name:"dbObjects",storageName:"dbObjectsWidget",$$slots:{default:[create_default_slot_1$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};64&n&&(o.title=e[6]?.databaseEngineTypes?.includes("document")?"Collections":"Tables, views, functions"),65546&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$8(e){let t,n;return t=new DbKeysTree({props:{conid:e[1],database:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),8&n&&(o.database=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$a(e){let t,n;return t=new SqlObjectList({props:{conid:e[1],database:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),8&n&&(o.database=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$e(e){let t,n,o,r,i,a,s,c=!e[8]?.singleDatabase&&create_if_block_3$4(e);n=new WidgetColumnBarItem({props:{title:"Pinned",name:"pinned",height:"15%",storageName:"pinnedItemsWidget",skip:!e[9]?.length&&!e[10].some(e[15]),$$slots:{default:[create_default_slot_5]},$$scope:{ctx:e}}});const l=[create_if_block$h,create_else_block$7],u=[];function d(e,t){return e[1]&&(e[3]||e[4])?0:1}return r=d(e),i=u[r]=l[r](e),{c(){c&&c.c(),t=space(),create_component(n.$$.fragment),o=space(),i.c(),a=empty()},m(e,i){c&&c.m(e,i),insert(e,t,i),mount_component(n,e,i),insert(e,o,i),u[r].m(e,i),insert(e,a,i),s=!0},p(e,o){e[8]?.singleDatabase?c&&(group_outros(),transition_out(c,1,1,(()=>{c=null})),check_outros()):c?256&o&&transition_in(c,1):(c=create_if_block_3$4(e),c.c(),transition_in(c,1),c.m(t.parentNode,t));const s={};1542&o&&(s.skip=!e[9]?.length&&!e[10].some(e[15])),65536&o&&(s.$$scope={dirty:o,ctx:e}),n.$set(s);let p=r;r=d(e),r===p?u[r].p(e,o):(group_outros(),transition_out(u[p],1,1,(()=>{u[p]=null})),check_outros(),i=u[r],i?i.p(e,o):(i=u[r]=l[r](e),i.c()),transition_in(i,1),i.m(a.parentNode,a))},i(e){s||(transition_in(c),transition_in(n.$$.fragment,e),transition_in(i),s=!0)},o(e){transition_out(c),transition_out(n.$$.fragment,e),transition_out(i),s=!1},d(e){c&&c.d(e),e&&detach(t),destroy_component(n,e),e&&detach(o),u[r].d(e),e&&detach(a)}}}function create_fragment$G(e){let t,n;return t=new WidgetColumnBar({props:{hidden:e[0],$$slots:{default:[create_default_slot$e]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.hidden=e[0]),67422&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$F(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f=noop$3,g=noop$3;var _,$;component_subscribe(e,currentDatabase,(e=>n(2,l=e))),component_subscribe(e,extensions,(e=>n(13,u=e))),component_subscribe(e,pinnedDatabases,(e=>n(9,m=e))),component_subscribe(e,pinnedTables,(e=>n(10,h=e))),e.$$.on_destroy.push((()=>f())),e.$$.on_destroy.push((()=>g()));let{hidden:b=!1}=t;return e.$$set=e=>{"hidden"in e&&n(0,b=e.hidden)},e.$$.update=()=>{2052&e.$$.dirty&&n(1,o=null===n(11,_=null==l?void 0:l.connection)||void 0===_?void 0:_._id),2&e.$$.dirty&&(n(7,r=useConnectionInfo({conid:o})),f(),f=subscribe(r,(e=>n(14,d=e)))),24576&e.$$.dirty&&n(6,i=lib$4.findEngineDriver(d,u)),4100&e.$$.dirty&&n(4,s=null===n(12,$=null==l?void 0:l.connection)||void 0===$?void 0:$.singleDatabase),4&e.$$.dirty&&n(3,c=null==l?void 0:l.name)},n(5,a=useConfig()),g(),g=subscribe(a,(e=>n(8,p=e))),[b,o,l,c,s,a,i,r,p,m,h,_,$,u,d,e=>e.conid==o&&e.database==l?.name]}class DatabaseWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$F,create_fragment$G,safe_not_equal,{hidden:0})}}function create_default_slot_2$7(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$9(e){let t,n,o,r,i,a,s,c;function l(t){e[17](t)}let u={placeholder:"Search saved files"};function d(t){e[18](t)}void 0!==e[0]&&(u.value=e[0]),t=new SearchInput({props:u}),binding_callbacks.push((()=>bind(t,"value",l)));let p={};return void 0!==e[0]&&(p.filter=e[0]),r=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind(r,"filter",d))),s=new InlineButton({props:{title:"Refresh files",$$slots:{default:[create_default_slot_2$7]},$$scope:{ctx:e}}}),s.$on("click",e[9]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),c=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const l={};1048576&o&&(l.$$scope={dirty:o,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$d(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$9]},$$scope:{ctx:e}}}),o=new AppObjectList({props:{list:e[1],module:savedFileAppObject,groupFunc:e[19],filter:e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1048577&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};2&n&&(i.list=e[1]),1&n&&(i.filter=e[0]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$F(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$d]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1048579&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$E(e,t,n){let o,r,i,a,s,c,l,u,d="";const p=useFiles({folder:"sql"});component_subscribe(e,p,(e=>n(16,u=e)));const m=useFiles({folder:"shell"});component_subscribe(e,m,(e=>n(15,l=e)));const h=useFiles({folder:"markdown"});component_subscribe(e,h,(e=>n(14,c=e)));const f=useFiles({folder:"charts"});component_subscribe(e,f,(e=>n(13,s=e)));const g=useFiles({folder:"query"});component_subscribe(e,g,(e=>n(12,a=e)));const $=useFiles({folder:"sqlite"});component_subscribe(e,$,(e=>n(11,i=e)));const b=useFiles({folder:"diagrams"});component_subscribe(e,b,(e=>n(10,r=e)));return e.$$.update=()=>{130048&e.$$.dirty&&n(1,o=[...u||[],...l||[],...c||[],...s||[],...a||[],...i||[],...r||[]])},[d,o,p,m,h,f,g,$,b,function(){apiCall("files/refresh",{folders:["sql","shell","markdown","charts","query","sqlite","diagrams"]})},r,i,a,s,c,l,u,function(e){d=e,n(0,d)},function(e){d=e,n(0,d)},e=>_.startCase(e.folder)]}class SavedFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$E,create_fragment$F,safe_not_equal,{})}}function create_if_block_1$a(e){let t,n,o,r,i,a=e[0].props.database+"";return n=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","info svelte-xmmjcw")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){(!i||1&t)&&a!==(a=e[0].props.database+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$g(e){let t,n,o=e[0].contentPreview+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","info svelte-xmmjcw")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&o!==(o=e[0].contentPreview+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_default_slot$c(e){let t,n,o,r=e[0].props&&e[0].props.database&&create_if_block_1$a(e),i=e[0].contentPreview&&create_if_block$g(e);return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,o){e[0].props&&e[0].props.database?r?(r.p(e,o),1&o&&transition_in(r,1)):(r=create_if_block_1$a(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),e[0].contentPreview?i?i.p(e,o):(i=create_if_block$g(e),i.c(),i.m(n.parentNode,n)):i&&(i.d(1),i=null)},i(e){o||(transition_in(r),o=!0)},o(e){transition_out(r),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_fragment$E(e){let t,n;const o=[e[3],{data:e[0]},{title:`${e[0].title} ${moment(e[0].closedTime).fromNow()}`},{icon:e[0].icon},{isBold:!!e[0].selected},{isBusy:e[0].busy},{menu:e[2]}];let r={$$slots:{default:[create_default_slot$c]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:`${e[0].title} ${moment(e[0].closedTime).fromNow()}`},1&n&&{icon:e[0].icon},1&n&&{isBold:!!e[0].selected},1&n&&{isBusy:e[0].busy},4&n&&{menu:e[2]}]):{};65&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$2=e=>e.tabid;function instance$D(e,t,n){const o=["data"];let r=compute_rest_props(t,o),{data:i}=t;const a=()=>{openedTabs.update((e=>e.filter((e=>e.tabid!=i.tabid))))},s=()=>{openedTabs.update((e=>e.filter((e=>!e.closedTime||e.closedTime>=i.closedTime))))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,i=e.data)},[i,()=>{openedTabs.update((e=>setSelectedTabFunc(e.map((e=>Object.assign(Object.assign({},e),{closedTime:e.tabid==i.tabid?void 0:e.closedTime}))),i.tabid)))},function(){return[{text:"Delete",onClick:a},{text:"Delete older",onClick:s}]},r]}class ClosedTabAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$D,create_fragment$E,safe_not_equal,{data:0})}}var closedTabAppObject=Object.freeze({__proto__:null,default:ClosedTabAppObject,extractKey:extractKey$2});function create_default_slot_3$2(e){let t,n;return t=new SavedFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$f(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Favorites",name:"favorites",storageName:"favoritesWidget",$$slots:{default:[create_default_slot_1$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$6(e){let t,n;return t=new AppObjectList({props:{list:e[1]||[],module:favoriteFileAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.list=e[1]||[]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$8(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$b(e){let t,n,o,r,i=hasPermission("files/favorites/read");t=new WidgetColumnBarItem({props:{title:"Saved files",name:"files",height:"70%",storageName:"savedFilesWidget",$$slots:{default:[create_default_slot_3$2]},$$scope:{ctx:e}}});let a=i&&create_if_block$f(e);return{c(){create_component(t.$$.fragment),n=space(),a&&a.c(),o=empty()},m(e,i){mount_component(t,e,i),insert(e,n,i),a&&a.m(e,i),insert(e,o,i),r=!0},p(e,n){const o={};4&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o),i&&a.p(e,n)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(a),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(a),r=!1},d(e){destroy_component(t,e),e&&detach(n),a&&a.d(e),e&&detach(o)}}}function create_fragment$D(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$C(e,t,n){let o,r,i=noop$3;return e.$$.on_destroy.push((()=>i())),n(0,o=useFavorites()),i(),i=subscribe(o,(e=>n(1,r=e))),[o,r]}class FilesWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$C,create_fragment$D,safe_not_equal,{})}}function get_each_context$b(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_else_block$6(e){let t,n,o=e[3].version+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","ml-1")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&o!==(o=e[3].version+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block$e(e){let t;return{c(){t=element("div"),t.textContent="(builtin)",attr(t,"class","ml-1 builtin svelte-11a2g2s")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_each_block$b(e,t){let n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v=t[3].name+"",y=extractPluginDescription(t[3])+"",x=extractPluginAuthor(t[3])+"";function w(e,t){return e[3].isPackaged?create_if_block$e:create_else_block$6}let C=w(t),k=C(t);function S(){return t[2](t[3])}return{key:e,first:null,c(){n=element("div"),o=element("img"),i=space(),a=element("div"),s=element("div"),c=element("div"),l=text$1(v),u=space(),k.c(),d=space(),p=element("div"),m=text$1(y),h=space(),f=element("div"),g=text$1(x),_=space(),attr(o,"class","icon svelte-11a2g2s"),src_url_equal(o.src,r=extractPluginIcon(t[3]))||attr(o,"src",r),attr(c,"class","bold"),attr(s,"class","flex"),attr(f,"class","bold"),attr(a,"class","ml-2"),attr(n,"class","wrapper svelte-11a2g2s"),this.first=n},m(e,t){insert(e,n,t),append(n,o),append(n,i),append(n,a),append(a,s),append(s,c),append(c,l),append(s,u),k.m(s,null),append(a,d),append(a,p),append(p,m),append(a,h),append(a,f),append(f,g),append(n,_),$||(b=listen(n,"click",S),$=!0)},p(e,n){t=e,1&n&&!src_url_equal(o.src,r=extractPluginIcon(t[3]))&&attr(o,"src",r),1&n&&v!==(v=t[3].name+"")&&set_data(l,v),C===(C=w(t))&&k?k.p(t,n):(k.d(1),k=C(t),k&&(k.c(),k.m(s,null))),1&n&&y!==(y=extractPluginDescription(t[3])+"")&&set_data(m,y),1&n&&x!==(x=extractPluginAuthor(t[3])+"")&&set_data(g,x)},d(e){e&&detach(n),k.d(),$=!1,b()}}}function create_fragment$C(e){let t,n=[],o=new Map,r=e[0]||[];const i=e=>e[3].name;for(let t=0;t<r.length;t+=1){let a=get_each_context$b(e,r,t),s=i(a);o.set(s,n[t]=create_each_block$b(s,a))}return{c(){for(let e=0;e<n.length;e+=1)n[e].c();t=empty()},m(e,o){for(let t=0;t<n.length;t+=1)n[t].m(e,o);insert(e,t,o)},p(e,[a]){3&a&&(r=e[0]||[],n=update_keyed_each(n,a,i,1,e,r,o,t.parentNode,destroy_block,create_each_block$b,t,get_each_context$b))},i:noop$3,o:noop$3,d(e){for(let t=0;t<n.length;t+=1)n[t].d(e);e&&detach(t)}}}function instance$B(e,t,n){let{plugins:o}=t;function r(e){openNewTab({title:e.name,icon:"icon plugin",tabComponent:"PluginTab",props:{packageName:e.name}})}return e.$$set=e=>{"plugins"in e&&n(0,o=e.plugins)},[o,r,e=>r(e)]}class PluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$B,create_fragment$C,safe_not_equal,{plugins:0})}}function create_default_slot_1$7(e){let t,n,o;function r(t){e[4](t)}let i={placeholder:"Search extensions on web",filter:e[0]};return void 0!==e[0]&&(i.value=e[0]),t=new SearchInput({props:i}),binding_callbacks.push((()=>bind(t,"value",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const r={};1&o&&(r.filter=e[0]),!n&&1&o&&(n=!0,r.value=e[0],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}function create_default_slot$a(e){let t,n;return t=new PluginsList({props:{plugins:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.plugins=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$B(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$7]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};65&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};68&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$A(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="",s="";const c=_.debounce((e=>n(3,s=e)),500);return e.$$.update=()=>{8&e.$$.dirty&&(n(1,o=useApiCall("plugins/search",{filter:s},[])),i(),i=subscribe(o,(e=>n(2,r=e)))),1&e.$$.dirty&&c(a)},[a,o,r,s,function(e){a=e,n(0,a)}]}class AvailablePluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$A,create_fragment$B,safe_not_equal,{})}}function create_default_slot$9(e){let t,n;return t=new PluginsList({props:{plugins:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.plugins=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$A(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$9]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$z(e,t,n){let o,r,i=noop$3;return e.$$.on_destroy.push((()=>i())),n(0,o=useInstalledPlugins()),i(),i=subscribe(o,(e=>n(1,r=e))),[o,r]}class InstalledPluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$z,create_fragment$A,safe_not_equal,{})}}function create_default_slot_2$5(e){let t,n;return t=new InstalledPluginsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$6(e){let t,n;return t=new AvailablePluginsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$8(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Installed extensions",name:"installed",height:"50%",storageName:"installedPluginsWidget",$$slots:{default:[create_default_slot_2$5]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Available extensions",name:"all",storageName:"allPluginsWidget",$$slots:{default:[create_default_slot_1$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$z(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class PluginsWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$z,safe_not_equal,{})}}function create_fragment$y(e){let t,n,o=e[0].map(e[1]).join("\n")+"";return{c(){t=new HtmlTag,n=empty(),t.a=n},m(e,r){t.m(o,e,r),insert(e,n,r)},p(e,[n]){1&n&&o!==(o=e[0].map(e[1]).join("\n")+"")&&t.p(o)},i:noop$3,o:noop$3,d(e){e&&detach(n),e&&t.d()}}}function instance$y(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o,e=>{const{value:t}=e;return _.isPlainObject(t)||_.isArray(t)?JSON.stringify(t,void 0,2):e.value}]}class HtmlCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$y,create_fragment$y,safe_not_equal,{selection:0})}}function create_else_block$5(e){let t,n,o,r;return o=new JSONTree({props:{value:e[0],expanded:!0}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"class","inner svelte-qjn8rh"),attr(t,"class","outer svelte-qjn8rh")},m(e,i){insert(e,t,i),append(t,n),mount_component(o,n,null),r=!0},p(e,t){const n={};1&t&&(n.value=e[0]),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block$d(e){let t,n;return t=new ErrorInfo({props:{message:"Error parsing JSON",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$x(e){let t,n,o,r;const i=[create_if_block$d,create_else_block$5],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$x(e,t,n){let{selection:o}=t,{showWholeRow:r=!1}=t,i=null,a=null;return e.$$set=e=>{"selection"in e&&n(2,o=e.selection),"showWholeRow"in e&&n(3,r=e.showWholeRow)},e.$$.update=()=>{if(12&e.$$.dirty)try{if(r)1==(null==o?void 0:o.length)?n(0,i=o[0].rowData):n(0,i=o.map((e=>e.rowData)));else{const e=o[0].value;n(0,i=_.isPlainObject(e)||_.isArray(e)?e:JSON.parse(e))}n(1,a=null)}catch(e){n(1,a=e.message)}},[i,a,o,r]}class JsonCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$x,create_fragment$x,safe_not_equal,{selection:2,showWholeRow:3})}}function create_fragment$w(e){let t,n;return t=new JsonCellView({props:{selection:e[0],showWholeRow:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$w(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class JsonRowView extends SvelteComponent{constructor(e){super(),init(this,e,instance$w,create_fragment$w,safe_not_equal,{selection:0})}}function create_else_block$4(e){let t,n;return t=new ErrorInfo({props:{message:"Error showing picture",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$c(e){let t,n,o;return{c(){t=element("div"),n=element("img"),src_url_equal(n.src,o=e[0])||attr(n,"src",o),attr(t,"class","wrapper svelte-13i2vsu")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&!src_url_equal(n.src,o=e[0])&&attr(n,"src",o)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_fragment$v(e){let t,n,o,r;const i=[create_if_block$c,create_else_block$4],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$v(e,t,n){let o;var r;let{selection:i}=t;return e.$$set=e=>{"selection"in e&&n(1,i=e.selection)},e.$$.update=()=>{6&e.$$.dirty&&n(0,o=function(e){try{const t=e;return"Buffer"==(null==t?void 0:t.type)&&_.isArray(null==t?void 0:t.data)?"data:image/png;base64, "+btoa(String.fromCharCode.apply(null,null==t?void 0:t.data)):null}catch(e){return console.log("Error showing picture",e),null}}(null===n(2,r=i[0])||void 0===r?void 0:r.value))},[o,i,r]}class PictureCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$v,create_fragment$v,safe_not_equal,{selection:1})}}function create_fragment$u(e){let t,n;return{c(){t=element("textarea"),attr(t,"class","flex1"),attr(t,"wrap",e[1]),t.readOnly=!0,t.value=n=e[0].map(e[2]).join("\n")},m(e,n){insert(e,t,n)},p(e,[o]){2&o&&attr(t,"wrap",e[1]),1&o&&n!==(n=e[0].map(e[2]).join("\n"))&&(t.value=n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$u(e,t,n){let{selection:o}=t,{wrap:r}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection),"wrap"in e&&n(1,r=e.wrap)},[o,r,e=>{const{value:t}=e;return _.isPlainObject(t)||_.isArray(t)?JSON.stringify(t,void 0,2):e.value}]}class TextCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$u,create_fragment$u,safe_not_equal,{selection:0,wrap:1})}}function create_fragment$t(e){let t,n;return t=new TextCellView({props:{wrap:"no",selection:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$t(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class TextCellViewNoWrap extends SvelteComponent{constructor(e){super(),init(this,e,instance$t,create_fragment$t,safe_not_equal,{selection:0})}}function create_fragment$s(e){let t,n;return t=new TextCellView({props:{wrap:"hard",selection:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$s(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class TextCellViewWrap extends SvelteComponent{constructor(e){super(),init(this,e,instance$s,create_fragment$s,safe_not_equal,{selection:0})}}function create_default_slot$7(e){let t;return{c(){t=text$1("Cell data view")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_else_block$3(e){let t,n,o;var r=e[2]?.component;function i(e){return{props:{selection:e[0]}}}return r&&(t=new r(i(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const a={};if(1&o&&(a.selection=e[0]),r!==(r=e[2]?.component)){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(t=new r(i(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else r&&t.$set(a)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_if_block_2$4(e){let t,n;return t=new ErrorInfo({props:{message:"No data selected",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$9(e){let t,n;return t=new ErrorInfo({props:{message:"Format not selected",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$b(e){let t,n;return t=new ErrorInfo({props:{message:"Must be selected one cell",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$r(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h;n=new WidgetTitle({props:{$$slots:{default:[create_default_slot$7]},$$scope:{ctx:e}}}),l=new SelectField({props:{isNative:!0,value:e[1],options:[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$2)]}}),l.$on("change",e[7]);const f=[create_if_block$b,create_if_block_1$9,create_if_block_2$4,create_else_block$3],g=[];function _(e,t){return e[2].single&&1!=e[0]?.length?0:null==e[2]?1:e[0]&&0!=e[0].length?3:2}return p=_(e),m=g[p]=f[p](e),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=element("div"),a=text$1("Format:"),s=element("span"),s.textContent=" ",c=space(),create_component(l.$$.fragment),u=space(),d=element("div"),m.c(),attr(i,"class","toolbar svelte-1lvmq5c"),attr(d,"class","data svelte-1lvmq5c"),attr(r,"class","main svelte-1lvmq5c"),attr(t,"class","wrapper svelte-1lvmq5c")},m(e,m){insert(e,t,m),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),append(i,a),append(i,s),append(i,c),mount_component(l,i,null),append(r,u),append(r,d),g[p].m(d,null),h=!0},p(e,[t]){const o={};256&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};2&t&&(r.value=e[1]),8&t&&(r.options=[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$2)]),l.$set(r);let i=p;p=_(e),p===i?g[p].p(e,t):(group_outros(),transition_out(g[i],1,1,(()=>{g[i]=null})),check_outros(),m=g[p],m?m.p(e,t):(m=g[p]=f[p](e),m.c()),transition_in(m,1),m.m(d,null))},i(e){h||(transition_in(n.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(m),h=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(m),h=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(l),g[p].d()}}}const formats=[{type:"textWrap",title:"Text (wrap)",component:TextCellViewWrap,single:!1},{type:"text",title:"Text (no wrap)",component:TextCellViewNoWrap,single:!1},{type:"json",title:"Json",component:JsonCellView,single:!0},{type:"jsonRow",title:"Json - Row",component:JsonRowView,single:!1},{type:"picture",title:"Picture",component:PictureCellView,single:!0},{type:"html",title:"HTML",component:HtmlCellView,single:!1}];function autodetect(e){var t,n,o;if(null===(o=null===(n=null===(t=e[0])||void 0===t?void 0:t.engine)||void 0===n?void 0:n.databaseEngineTypes)||void 0===o?void 0:o.includes("document"))return"jsonRow";const r=1==e.length?e[0].value:null;return _.isString(r)&&(r.startsWith("[")||r.startsWith("{"))||_.isPlainObject(r)||_.isArray(r)?"json":"textWrap"}const func$2=e=>({label:e.title,value:e.type});function instance$r(e,t,n){let o,r,i,a,s;component_subscribe(e,selectedCellsCallback,(e=>n(6,s=e)));let c="autodetect",{selection:l}=t;return e.$$set=e=>{"selection"in e&&n(0,l=e.selection)},e.$$.update=()=>{64&e.$$.dirty&&n(0,l=s?s():[]),1&e.$$.dirty&&n(5,o=autodetect(l)),32&e.$$.dirty&&n(3,r=formats.find((e=>e.type==o))),34&e.$$.dirty&&n(4,i="autodetect"==c?o:c),16&e.$$.dirty&&n(2,a=formats.find((e=>e.type==i)))},[l,c,a,r,i,o,s,e=>n(1,c=e.detail)]}class CellDataWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$r,create_fragment$r,safe_not_equal,{selection:0})}}function get_each_context$a(e,t,n){const o=e.slice();return o[10]=t[n],o}function create_default_slot_1$5(e){let t,n,o,r,i,a;function s(t){e[3](t)}let c={placeholder:"Search query history",filter:e[0]};function l(t){e[4](t)}void 0!==e[0]&&(c.value=e[0]),t=new SearchInput({props:c}),binding_callbacks.push((()=>bind(t,"value",s)));let u={};return void 0!==e[0]&&(u.filter=e[0]),r=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind(r,"filter",l))),r.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),a=!0},p(e,o){const a={};1&o&&(a.filter=e[0]),!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&1&o&&(i=!0,s.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e)}}}function create_each_block$a(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g=e[10].sql+"",_=e[10].database+"";function $(){return e[6](e[10])}return o=new FontIcon({props:{icon:"icon sql-file"}}),c=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(g),a=space(),s=element("div"),create_component(c.$$.fragment),l=space(),u=text$1(_),d=space(),attr(n,"class","sql svelte-fyr7t5"),attr(s,"class","info svelte-fyr7t5"),attr(t,"class","wrapper svelte-fyr7t5"),attr(t,"title",p=e[10].sql)},m(e,p){insert(e,t,p),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),append(t,s),mount_component(c,s,null),append(s,l),append(s,u),append(t,d),m=!0,h||(f=listen(t,"click",$),h=!0)},p(n,o){e=n,(!m||4&o)&&g!==(g=e[10].sql+"")&&set_data(i,g),(!m||4&o)&&_!==(_=e[10].database+"")&&set_data(u,_),(!m||4&o&&p!==(p=e[10].sql))&&attr(t,"title",p)},i(e){m||(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),m=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),m=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c),h=!1,f()}}}function create_default_slot$6(e){let t,n,o=e[2],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$a(get_each_context$a(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(4&n){let a;for(o=e[2],a=0;a<o.length;a+=1){const i=get_each_context$a(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$a(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_fragment$q(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$5]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};8195&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};8196&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$q(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r="",i="",a=[];function s(){return o(this,void 0,void 0,(function*(){const e=yield apiCall("query-history/read",{filter:i,limit:100});n(2,a=e)}))}const c=_.debounce((e=>n(1,i=e)),500);onMount((()=>(apiOn("query-history-changed",s),()=>{apiOff("query-history-changed",s)})));return e.$$.update=()=>{2&e.$$.dirty&&s(),1&e.$$.dirty&&c(r)},[r,i,a,function(e){r=e,n(0,r)},function(e){r=e,n(0,r)},()=>{n(1,i="")},e=>{openNewTab({title:"Query #",icon:"icon sql-file",tabComponent:"QueryTab",props:{conid:e.conid,database:e.database}},{editor:e.sql})}]}class QueryHistoryList extends SvelteComponent{constructor(e){super(),init(this,e,instance$q,create_fragment$q,safe_not_equal,{})}}function create_default_slot_3$1(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[0].filter(func$1),func_1$1),module:closedTabAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.list=_.sortBy(e[0].filter(func$1),func_1$1)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$4(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_3$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};5&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$4(e){let t,n;return t=new QueryHistoryList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$5(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Recently closed tabs",name:"closedTabs",storageName:"closedTabsWidget",$$slots:{default:[create_default_slot_2$4]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Query history",name:"queryHistory",storageName:"queryHistoryWidget",$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};5&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};4&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$p(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};5&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$1=e=>e.closedTime,func_1$1=e=>-e.closedTime;function instance$p(e,t,n){let o;return component_subscribe(e,openedTabs,(e=>n(0,o=e))),useFavorites(),[o]}class HistoryWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$p,create_fragment$p,safe_not_equal,{})}}function create_fragment$o(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getAppIcon(e[0])},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].fileLabel},1&n&&{icon:getAppIcon(e[0])},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$1=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function openTextFile(e,t,n,o,r){return __awaiter$1(this,void 0,void 0,(function*(){let i;const a=yield apiCall("files/load",{folder:"app:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:r,tabComponent:o,tooltip:i,props:Object.assign({savedFile:e+"."+t,savedFolder:"app:"+n,savedFormat:"text",appFolder:n},{})},{editor:a})}))}const extractKey$1=e=>e.fileName,createMatcher$1=({fileName:e})=>t=>lib$4.filterName(t,e),APP_ICONS={"config.json":"img json","command.sql":"img app-command","query.sql":"img app-query"};function getAppIcon(e){return APP_ICONS[e.fileType]}function instance$o(e,t,n){const o=["data"];let r=compute_rest_props(t,o);this&&this.__awaiter;let{data:i}=t;const a=()=>{showModal(InputTextModal,{value:i.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("apps/rename-file",{file:i.fileName,folder:i.folderName,fileType:i.fileType,newFile:e})}})},s=()=>{showModal(ConfirmModal,{message:`Really delete file ${i.fileName}?`,onConfirm:()=>{apiCall("apps/delete-file",{file:i.fileName,folder:i.folderName,fileType:i.fileType})}})},c=()=>{openTextFile(i.fileName,i.fileType,i.folderName,"QueryTab","img sql-file")},l=()=>{openTextFile(i.fileName,i.fileType,i.folderName,"JsonEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,i=e.data)},[i,()=>{i.fileType.endsWith(".sql")&&c(),i.fileType.endsWith(".json")&&l()},function(){return[{text:"Delete",onClick:s},{text:"Rename",onClick:a},i.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:c},i.fileType.endsWith(".json")&&{text:"Open JSON",onClick:l}]},r]}class AppFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$o,create_fragment$o,safe_not_equal,{data:0})}}var appFileAppObject=Object.freeze({__proto__:null,default:AppFileAppObject,extractKey:extractKey$1,createMatcher:createMatcher$1});function create_default_slot_2$3(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$3(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search application files"};function m(t){e[8](t)}void 0!==e[1]&&(p.value=e[1]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[1]&&(h.filter=e[1]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[5]}}),l=new InlineButton({props:{title:"Refresh files of selected application",$$slots:{default:[create_default_slot_2$3]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2&o&&(i=!0,s.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(s);const c={};16384&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$4(e){let t,n;return t=new AppObjectList({props:{list:(e[3]||[]).map(e[9]),groupFunc:e[10],module:appFileAppObject,filter:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9&n&&(o.list=(e[3]||[]).map(e[9])),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$n(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$3]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};16386&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};16395&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const APP_LABELS={"command.sql":"SQL commands","query.sql":"SQL queries"},COMMAND_TEMPLATE="-- Write SQL command here\n-- After save, you can execute it from database context menu, for all databases, which use this application\n",QUERY_TEMPLATE="-- Write SQL query here\n-- After save, you can view it in tables list, for all databases, which use this application\n";function instance$n(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,currentApplication,(e=>n(6,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l="";function u(e,t,n){showModal(InputTextModal,{value:"",label:"New file name",header:t,onConfirm:t=>c(this,void 0,void 0,(function*(){newQuery({title:t,initialData:n,savedFile:t+"."+e,savedFolder:"app:"+i,savedFormat:"text",appFolder:i})}))})}function d(e,t){return c(this,void 0,void 0,(function*(){(yield apiCall("apps/create-config-file",{fileName:e,content:t,appFolder:i}))||showSnackbarError("File not created, probably already exists")}))}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=i),1&e.$$.dirty&&(n(2,r=useAppFiles({folder:o})),s(),s=subscribe(r,(e=>n(3,a=e))))},[o,l,r,a,()=>{apiCall("apps/refresh-files",{folder:o})},function(){return[{text:"New SQL command",onClick:()=>u("command.sql","Create new SQL command",COMMAND_TEMPLATE)},{text:"New SQL query",onClick:()=>u("query.sql","Create new SQL query",QUERY_TEMPLATE)},{text:"New virtual references file",onClick:()=>d("virtual-references.config.json",[])},{text:"New dictionary descriptions file",onClick:()=>d("dictionary-descriptions.config.json",[])}]},i,function(e){l=e,n(1,l)},function(e){l=e,n(1,l)},e=>({fileName:e.name,folderName:o,fileType:e.type,fileLabel:e.label}),e=>APP_LABELS[e.fileType]||"App config"]}class AppFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$n,create_fragment$n,safe_not_equal,{})}}function create_fragment$m(e){let t,n;const o=[e[7],{data:e[0]},{title:e[0].name},{icon:"img app"},{statusIcon:e[6](e[3],e[2])?"icon check":null},{statusTitle:`Application ${e[0].name} is used for database ${e[3]?.name}`},{isBold:e[0].name==e[4]},{menu:e[5]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=253&n?get_spread_update(o,[128&n&&get_spread_object(e[7]),1&n&&{data:e[0]},1&n&&{title:e[0].name},o[3],76&n&&{statusIcon:e[6](e[3],e[2])?"icon check":null},9&n&&{statusTitle:`Application ${e[0].name} is used for database ${e[3]?.name}`},17&n&&{isBold:e[0].name==e[4]},32&n&&{menu:e[5]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey=e=>e.name,createMatcher=e=>t=>lib$4.filterName(t,e.name);function instance$m(e,t,n){let o;const r=["data"];let i,a,s,c=compute_rest_props(t,r),l=noop$3;component_subscribe(e,currentDatabase,(e=>n(3,a=e))),component_subscribe(e,currentApplication,(e=>n(4,s=e))),e.$$.on_destroy.push((()=>l()));var u=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:d}=t;const p=()=>{showModal(ConfirmModal,{message:`Really delete application ${d.name}?`,onConfirm:()=>{apiCall("apps/delete-folder",{folder:d.name})}})},m=()=>{const{name:e}=d;showModal(InputTextModal,{value:e,label:"New application name",header:"Rename application",onConfirm:e=>u(void 0,void 0,void 0,(function*(){yield apiCall("apps/rename-folder",{folder:d.name,newFolder:e}),s==d.name&&set_store_value(currentApplication,s=e,s)}))})};function h(e){var t;apiCall("connections/update-database",{conid:null===(t=null==a?void 0:a.connection)||void 0===t?void 0:t._id,database:null==a?void 0:a.name,values:{[`useApp:${d.name}`]:e}})}function f(e,t){var n;if(!e||!t)return!1;const o=t.find((t=>{var n;return t._id==(null===(n=null==e?void 0:e.connection)||void 0===n?void 0:n._id)})),r=null===(n=null==o?void 0:o.databases)||void 0===n?void 0:n.find((t=>t.name==(null==e?void 0:e.name)));return r&&r[`useApp:${d.name}`]}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,r)),"data"in e&&n(0,d=e.data)},n(1,o=useConnectionList()),l(),l=subscribe(o,(e=>n(2,i=e))),[d,o,i,a,s,function(){return[{text:"Delete",onClick:p},{text:"Rename",onClick:m},a&&[!f(a,i)&&{text:"Enable on current database",onClick:()=>h(!0)},f(a,i)&&{text:"Disable on current database",onClick:()=>h(!1)}]]},f,c,()=>set_store_value(currentApplication,s=d.name,s)]}class AppFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$m,create_fragment$m,safe_not_equal,{data:0})}}var appFolderAppObject=Object.freeze({__proto__:null,default:AppFolderAppObject,extractKey:extractKey,createMatcher:createMatcher});function create_default_slot_3(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$2(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$2(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[4](t)}let p={placeholder:"Search applications"};function m(t){e[5](t)}void 0!==e[0]&&(p.value=e[0]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[0]&&(h.filter=e[0]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new InlineButton({props:{title:"Create new application",$$slots:{default:[create_default_slot_3]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh application list",$$slots:{default:[create_default_slot_2$2]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const u={};128&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};128&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$3(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[2],"name"),module:appFolderAppObject,filter:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.list=_.sortBy(e[2],"name")),1&n&&(o.filter=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$l(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$2]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};129&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};133&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$l(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="";return n(1,o=useAppFolders()),i(),i=subscribe(o,(e=>n(2,r=e))),[a,o,r,()=>{apiCall("apps/refresh-folders")},function(e){a=e,n(0,a)},function(e){a=e,n(0,a)},()=>runCommand("new.application")]}class AppFolderList extends SvelteComponent{constructor(e){super(),init(this,e,instance$l,create_fragment$l,safe_not_equal,{})}}function create_default_slot_2$1(e){let t,n;return t=new AppFolderList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$1(e){let t,n;return t=new AppFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$2(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Applications",name:"apps",height:"30%",storageName:"appsWidget",$$slots:{default:[create_default_slot_2$1]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Application files",name:"files",storageName:"appFilesWidget",$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$k(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class AppWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$k,safe_not_equal,{})}}function create_if_block_5$2(e){let t,n;return t=new FilesWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$2(e){let t,n;return t=new HistoryWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$3(e){let t,n;return t=new ArchiveWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$3(e){let t,n;return t=new PluginsWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$8(e){let t,n;return t=new CellDataWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$a(e){let t,n;return t=new AppWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$j(e){let t,n,o,r,i,a,s,c,l;t=new DatabaseWidget({props:{hidden:"database"!=e[0]}});let u="file"==e[0]&&create_if_block_5$2(),d="history"==e[0]&&create_if_block_4$2(),p="archive"==e[0]&&create_if_block_3$3(),m="plugins"==e[0]&&create_if_block_2$3(),h="cell-data"==e[0]&&create_if_block_1$8(),f="app"==e[0]&&create_if_block$a();return{c(){create_component(t.$$.fragment),n=space(),u&&u.c(),o=space(),d&&d.c(),r=space(),p&&p.c(),i=space(),m&&m.c(),a=space(),h&&h.c(),s=space(),f&&f.c(),c=empty()},m(e,g){mount_component(t,e,g),insert(e,n,g),u&&u.m(e,g),insert(e,o,g),d&&d.m(e,g),insert(e,r,g),p&&p.m(e,g),insert(e,i,g),m&&m.m(e,g),insert(e,a,g),h&&h.m(e,g),insert(e,s,g),f&&f.m(e,g),insert(e,c,g),l=!0},p(e,[n]){const l={};1&n&&(l.hidden="database"!=e[0]),t.$set(l),"file"==e[0]?u?1&n&&transition_in(u,1):(u=create_if_block_5$2(),u.c(),transition_in(u,1),u.m(o.parentNode,o)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),"history"==e[0]?d?1&n&&transition_in(d,1):(d=create_if_block_4$2(),d.c(),transition_in(d,1),d.m(r.parentNode,r)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"archive"==e[0]?p?1&n&&transition_in(p,1):(p=create_if_block_3$3(),p.c(),transition_in(p,1),p.m(i.parentNode,i)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),"plugins"==e[0]?m?1&n&&transition_in(m,1):(m=create_if_block_2$3(),m.c(),transition_in(m,1),m.m(a.parentNode,a)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),"cell-data"==e[0]?h?1&n&&transition_in(h,1):(h=create_if_block_1$8(),h.c(),transition_in(h,1),h.m(s.parentNode,s)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),"app"==e[0]?f?1&n&&transition_in(f,1):(f=create_if_block$a(),f.c(),transition_in(f,1),f.m(c.parentNode,c)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros())},i(e){l||(transition_in(t.$$.fragment,e),transition_in(u),transition_in(d),transition_in(p),transition_in(m),transition_in(h),transition_in(f),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(u),transition_out(d),transition_out(p),transition_out(m),transition_out(h),transition_out(f),l=!1},d(e){destroy_component(t,e),e&&detach(n),u&&u.d(e),e&&detach(o),d&&d.d(e),e&&detach(r),p&&p.d(e),e&&detach(i),m&&m.d(e),e&&detach(a),h&&h.d(e),e&&detach(s),f&&f.d(e),e&&detach(c)}}}function instance$k(e,t,n){let o;return component_subscribe(e,selectedWidget,(e=>n(0,o=e))),[o]}class WidgetContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$k,create_fragment$j,safe_not_equal,{})}}var mainMenuDefinition=({editMenu:e})=>[{label:"File",submenu:[{command:"new.connection",hideDisabled:!0},{command:"new.sqliteDatabase",hideDisabled:!0},{divider:!0},{command:"new.query",hideDisabled:!0},{command:"new.freetable",hideDisabled:!0},{command:"new.shell",hideDisabled:!0},{command:"new.jsonl",hideDisabled:!0},{divider:!0},{command:"file.open",hideDisabled:!0},{command:"file.openArchive",hideDisabled:!0},{divider:!0},{command:"group.save",hideDisabled:!0},{command:"group.saveAs",hideDisabled:!0},{divider:!0},{command:"file.exit",hideDisabled:!0},{command:"app.logout",hideDisabled:!0,skipInApp:!0}]},{label:"Window",submenu:[{command:"tabs.closeTab",hideDisabled:!1},{command:"tabs.closeAll",hideDisabled:!1},{command:"tabs.closeTabsWithCurrentDb",hideDisabled:!1},{command:"tabs.closeTabsButCurrentDb",hideDisabled:!1},{divider:!0},{command:"app.zoomIn",hideDisabled:!0},{command:"app.zoomOut",hideDisabled:!0},{command:"app.zoomReset",hideDisabled:!0}]},e?{label:"Edit",submenu:[{command:"edit.undo"},{command:"edit.redo"},{divider:!0},{command:"edit.cut"},{command:"edit.copy"},{command:"edit.paste"}]}:null,{label:"View",submenu:[{command:"app.reload",hideDisabled:!0},{command:"app.toggleDevTools",hideDisabled:!0},{command:"app.toggleFullScreen",hideDisabled:!0},{command:"app.minimize",hideDisabled:!0},{divider:!0},{command:"theme.changeTheme",hideDisabled:!0},{command:"settings.show"}]},{label:"Tools",submenu:[{command:"database.search",hideDisabled:!0},{command:"commandPalette.show",hideDisabled:!0},{command:"database.switch",hideDisabled:!0},{divider:!0},{command:"sql.generator",hideDisabled:!0},{command:"file.import",hideDisabled:!0},{command:"new.modelCompare",hideDisabled:!0}]},{label:"Help",submenu:[{command:"app.openDocs",hideDisabled:!0},{command:"app.openWeb",hideDisabled:!0},{command:"app.openIssue",hideDisabled:!0},{command:"app.openSponsoring",hideDisabled:!0},{divider:!0},{command:"settings.commands",hideDisabled:!0},{command:"tabs.changelog",hideDisabled:!0},{command:"about.show",hideDisabled:!0}]}];function get_each_context$9(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block$9(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon menu"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper mb-3 svelte-1nclm36")},m(a,s){insert(a,t,s),mount_component(n,t,null),e[8](t),o=!0,r||(i=listen(t,"click",e[7]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(o){o&&detach(t),destroy_component(n),e[8](null),r=!1,i()}}}function create_each_block$9(e){let t,n,o,r,i;function a(){return e[10](e[13])}return n=new FontIcon({props:{icon:e[13].icon,title:e[13].title}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-1nclm36"),toggle_class(t,"selected",e[13].name==e[2])},m(e,s){insert(e,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",a),r=!0)},p(n,o){e=n,20&o&&toggle_class(t,"selected",e[13].name==e[2])},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_fragment$i(e){let t,n,o,r,i,a,s,c,l,u,d=e[3]&&create_if_block$9(e),p=e[4].filter(e[9]),m=[];for(let t=0;t<p.length;t+=1)m[t]=create_each_block$9(get_each_context$9(e,p,t));const h=e=>transition_out(m[e],1,1,(()=>{m[e]=null}));return s=new FontIcon({props:{icon:"icon settings"}}),{c(){t=element("div"),d&&d.c(),n=space();for(let e=0;e<m.length;e+=1)m[e].c();o=space(),r=element("div"),r.textContent=" ",i=space(),a=element("div"),create_component(s.$$.fragment),attr(r,"class","flex1"),attr(a,"class","wrapper svelte-1nclm36"),attr(t,"class","main svelte-1nclm36")},m(p,h){insert(p,t,h),d&&d.m(t,null),append(t,n);for(let e=0;e<m.length;e+=1)m[e].m(t,null);append(t,o),append(t,r),append(t,i),append(t,a),mount_component(s,a,null),e[11](a),c=!0,l||(u=listen(a,"click",e[6]),l=!0)},p(e,[r]){if(e[3]?d?(d.p(e,r),8&r&&transition_in(d,1)):(d=create_if_block$9(e),d.c(),transition_in(d,1),d.m(t,n)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),52&r){let n;for(p=e[4].filter(e[9]),n=0;n<p.length;n+=1){const i=get_each_context$9(e,p,n);m[n]?(m[n].p(i,r),transition_in(m[n],1)):(m[n]=create_each_block$9(i),m[n].c(),transition_in(m[n],1),m[n].m(t,o))}for(group_outros(),n=p.length;n<m.length;n+=1)h(n);check_outros()}},i(e){if(!c){transition_in(d);for(let e=0;e<p.length;e+=1)transition_in(m[e]);transition_in(s.$$.fragment,e),c=!0}},o(e){transition_out(d),m=m.filter(Boolean);for(let e=0;e<m.length;e+=1)transition_out(m[e]);transition_out(s.$$.fragment,e),c=!1},d(n){n&&detach(t),d&&d.d(),destroy_each(m,n),destroy_component(s),e[11](null),l=!1,u()}}}function instance$j(e,t,n){let o,r,i,a;component_subscribe(e,selectedWidget,(e=>n(2,o=e))),component_subscribe(e,visibleHamburgerMenuWidget,(e=>n(3,r=e)));function s(e){set_store_value(selectedWidget,o=e==o?null:e,o)}return useConfig(),[i,a,o,r,[{icon:"icon database",name:"database",title:"Database connections"},{icon:"icon file",name:"file",title:"Favorites & Saved files"},{icon:"icon history",name:"history",title:"Query history & Closed tabs"},{icon:"icon archive",name:"archive",title:"Archive (saved tabular data)"},{icon:"icon plugin",name:"plugins",title:"Extensions & Plugins"},{icon:"icon cell-data",name:"cell-data",title:"Selected cell data detail view"},{icon:"icon app",name:"app",title:"Application layers"}],s,function(){const e=i.getBoundingClientRect(),t=e.right,n=e.bottom;currentDropDownMenu.set({left:t,top:n,items:[{command:"settings.show"},{command:"theme.changeTheme"},{command:"settings.commands"}]})},function(){const e=a.getBoundingClientRect(),t=e.right,n=e.top,o=mainMenuDefinition({editMenu:!1});currentDropDownMenu.set({left:t,top:n,items:o})},function(e){binding_callbacks[e?"unshift":"push"]((()=>{a=e,n(1,a)}))},e=>hasPermission(`widgets/${e.name}`),e=>s(e.name),function(e){binding_callbacks[e?"unshift":"push"]((()=>{i=e,n(0,i)}))}]}class WidgetIconPanel extends SvelteComponent{constructor(e){super(),init(this,e,instance$j,create_fragment$i,safe_not_equal,{})}}function create_fragment$h(e){let t,n,o;const r=[e[3],{tabid:e[0]},{tabVisible:e[1]}];var i=e[2];function a(e){let t={};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(n=new i(a())),{c(){t=element("div"),n&&create_component(n.$$.fragment),attr(t,"class","svelte-3h7mlk"),toggle_class(t,"tabVisible",e[1])},m(e,r){insert(e,t,r),n&&mount_component(n,t,null),o=!0},p(e,[o]){const s=11&o?get_spread_update(r,[8&o&&get_spread_object(e[3]),1&o&&{tabid:e[0]},2&o&&{tabVisible:e[1]}]):{};if(i!==(i=e[2])){if(n){group_outros();const e=n;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(n=new i(a()),create_component(n.$$.fragment),transition_in(n.$$.fragment,1),mount_component(n,t,null)):n=null}else i&&n.$set(s);2&o&&toggle_class(t,"tabVisible",e[1])},i(e){o||(n&&transition_in(n.$$.fragment,e),o=!0)},o(e){n&&transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),n&&destroy_component(n)}}}function instance$i(e,t,n){const o=["tabid","tabVisible","tabComponent"];let r=compute_rest_props(t,o),{tabid:i}=t,{tabVisible:a}=t,{tabComponent:s}=t;const c=writable(a);return setContext("tabid",i),setContext("tabVisible",c),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"tabid"in e&&n(0,i=e.tabid),"tabVisible"in e&&n(1,a=e.tabVisible),"tabComponent"in e&&n(2,s=e.tabComponent)},e.$$.update=()=>{2&e.$$.dirty&&c.set(a)},[i,a,s,r]}class TabContent extends SvelteComponent{constructor(e){super(),init(this,e,instance$i,create_fragment$h,safe_not_equal,{tabid:0,tabVisible:1,tabComponent:2})}}function get_each_context$8(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_each_block$8(e,t){let n,o,r;const i=[{tabComponent:t[0][t[3]].tabComponent},t[0][t[3]].props,{tabid:t[3]},{tabVisible:t[3]==(t[1]&&t[1].tabid)}];let a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);return o=new TabContent({props:a}),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){t=e;const r=3&n?get_spread_update(i,[1&n&&{tabComponent:t[0][t[3]].tabComponent},1&n&&get_spread_object(t[0][t[3]].props),1&n&&{tabid:t[3]},{tabVisible:t[3]==(t[1]&&t[1].tabid)}]):{};o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),destroy_component(o,e)}}}function create_fragment$g(e){let t,n,o=[],r=new Map,i=_.keys(e[0]);const a=e=>e[3];for(let t=0;t<i.length;t+=1){let n=get_each_context$8(e,i,t),s=a(n);r.set(s,o[t]=create_each_block$8(s,n))}return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,r){for(let t=0;t<o.length;t+=1)o[t].m(e,r);insert(e,t,r),n=!0},p(e,[n]){3&n&&(i=_.keys(e[0]),group_outros(),o=update_keyed_each(o,n,a,1,e,i,r,t.parentNode,outro_and_destroy_block,create_each_block$8,t,get_each_context$8),check_outros())},i(e){if(!n){for(let e=0;e<i.length;e+=1)transition_in(o[e]);n=!0}},o(e){for(let e=0;e<o.length;e+=1)transition_out(o[e]);n=!1},d(e){for(let t=0;t<o.length;t+=1)o[t].d(e);e&&detach(t)}}}function createTabComponent(e){var t;const n=null===(t=tabs[e.tabComponent])||void 0===t?void 0:t.default;return n?{tabComponent:n,props:e&&e.props}:null}function instance$h(e,t,n){let o,r;component_subscribe(e,openedTabs,(e=>n(2,r=e)));let i={};return e.$$.update=()=>{if(4&e.$$.dirty&&n(1,o=r.find((e=>e.selected&&null==e.closedTime))),5&e.$$.dirty&&_.difference(_.keys(i),_.map(r.filter((e=>null==e.closedTime)),"tabid")).length>0&&n(0,i=_.pickBy(i,((e,t)=>r.find((e=>e.tabid==t&&null==e.closedTime))))),3&e.$$.dirty&&o){const{tabid:e}=o;if(e&&!i[e]){const t=createTabComponent(o);t&&n(0,i=Object.assign(Object.assign({},i),{[e]:t}))}}},[i,o,r]}class TabRegister extends SvelteComponent{constructor(e){super(),init(this,e,instance$h,create_fragment$g,safe_not_equal,{})}}function get_each_context$7(e,t,n){const o=e.slice();return o[25]=t[n],o[26]=t,o[27]=n,o}function create_if_block_1$7(e){let t,n,o;return n=new FontIcon({props:{icon:e[25].icon}}),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};64&t&&(o.icon=e[25].icon),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$8(e){let t,n,o=e[25].keyText+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","shortcut svelte-1kyrubd")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){64&t&&o!==(o=e[25].keyText+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_each_block$7(e){let t,n,o,r,i,a,s,c,l,u=e[25].text+"",d=e[27],p=e[25].icon&&create_if_block_1$7(e),m=e[25].keyText&&create_if_block$8(e);function h(){return e[22](e[25])}const f=()=>e[23](t,d),g=()=>e[23](null,d);return{c(){t=element("div"),n=element("div"),p&&p.c(),o=space(),r=text$1(u),i=space(),m&&m.c(),a=space(),attr(t,"class","command svelte-1kyrubd"),toggle_class(t,"selected",e[27]==e[2])},m(e,u){insert(e,t,u),append(t,n),p&&p.m(n,null),append(n,o),append(n,r),append(t,i),m&&m.m(t,null),append(t,a),f(),s=!0,c||(l=listen(t,"click",h),c=!0)},p(i,c){(e=i)[25].icon?p?(p.p(e,c),64&c&&transition_in(p,1)):(p=create_if_block_1$7(e),p.c(),transition_in(p,1),p.m(n,o)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),(!s||64&c)&&u!==(u=e[25].text+"")&&set_data(r,u),e[25].keyText?m?m.p(e,c):(m=create_if_block$8(e),m.c(),m.m(t,a)):m&&(m.d(1),m=null),d!==e[27]&&(g(),d=e[27],f()),4&c&&toggle_class(t,"selected",e[27]==e[2])},i(e){s||(transition_in(p),s=!0)},o(e){transition_out(p),s=!1},d(e){e&&detach(t),p&&p.d(),m&&m.d(),g(),c=!1,l()}}}function create_fragment$f(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b;r=new FontIcon({props:{icon:"icon menu"}}),c=new FontIcon({props:{icon:"icon database"}});let v=e[6],y=[];for(let t=0;t<v.length;t+=1)y[t]=create_each_block$7(get_each_context$7(e,v,t));const x=e=>transition_out(y[e],1,1,(()=>{y[e]=null}));return{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=text$1(" Commands"),a=space(),s=element("div"),create_component(c.$$.fragment),l=text$1(" Database"),u=space(),d=element("div"),p=element("div"),m=element("input"),f=space(),g=element("div");for(let e=0;e<y.length;e+=1)y[e].c();attr(o,"class","page svelte-1kyrubd"),toggle_class(o,"selected","menu"==e[4]),attr(s,"class","page svelte-1kyrubd"),toggle_class(s,"selected","database"==e[4]),attr(n,"class","pages svelte-1kyrubd"),attr(m,"type","text"),attr(m,"placeholder",h=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")),attr(m,"class","svelte-1kyrubd"),attr(p,"class","search svelte-1kyrubd"),attr(g,"class","content svelte-1kyrubd"),attr(d,"class","mainInner svelte-1kyrubd"),attr(t,"class","main svelte-1kyrubd")},m(h,v){insert(h,t,v),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(n,a),append(n,s),mount_component(c,s,null),append(s,l),append(t,u),append(t,d),append(d,p),append(p,m),e[20](m),set_input_value(m,e[0]),append(d,f),append(d,g);for(let e=0;e<y.length;e+=1)y[e].m(g,null);_=!0,$||(b=[listen(o,"click",e[18]),listen(s,"click",e[19]),listen(m,"input",e[21]),listen(m,"keydown",e[10]),action_destroyer(clickOutside.call(null,t)),listen(t,"clickOutside",e[24])],$=!0)},p(e,[t]){if(16&t&&toggle_class(o,"selected","menu"==e[4]),16&t&&toggle_class(s,"selected","database"==e[4]),(!_||24&t&&h!==(h=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")))&&attr(m,"placeholder",h),1&t&&m.value!==e[0]&&set_input_value(m,e[0]),582&t){let n;for(v=e[6],n=0;n<v.length;n+=1){const o=get_each_context$7(e,v,n);y[n]?(y[n].p(o,t),transition_in(y[n],1)):(y[n]=create_each_block$7(o),y[n].c(),transition_in(y[n],1),y[n].m(g,null))}for(group_outros(),n=v.length;n<y.length;n+=1)x(n);check_outros()}},i(e){if(!_){transition_in(r.$$.fragment,e),transition_in(c.$$.fragment,e);for(let e=0;e<v.length;e+=1)transition_in(y[e]);_=!0}},o(e){transition_out(r.$$.fragment,e),transition_out(c.$$.fragment,e),y=y.filter(Boolean);for(let e=0;e<y.length;e+=1)transition_out(y[e]);_=!1},d(n){n&&detach(t),destroy_component(r),destroy_component(c),e[20](null),destroy_each(y,n),$=!1,run_all(b)}}}function extractDbItems(e,t,n){const o=_.flatten(["tables","collections","views","matviews","procedures","functions"].map((n=>_.sortBy(((e||{})[n]||[]).map((e=>({text:e.pureName,onClick:()=>handleDatabaseObjectClick({objectTypeField:n,...t,...e}),icon:databaseObjectIcons[n]}))),["text"])))),r=[];for(const e of n||[]){const t=e._id;if(e.singleDatabase)continue;if(getCurrentConfig()?.singleDatabase)continue;const n=getLocalStorage(`database_list_${t}`)||[];for(const t of n)r.push({text:`${t.name} on ${getConnectionLabel(e)}`,icon:"img database",onClick:()=>currentDatabase.set({connection:e,name:t.name})})}return[..._.sortBy(r,"text"),...o]}function instance$g(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f,g,$=noop$3,b=noop$3;component_subscribe(e,visibleCommandPalette,(e=>n(4,d=e))),component_subscribe(e,currentDatabase,(e=>n(16,h=e))),component_subscribe(e,commandsCustomized,(e=>n(17,f=e))),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b()));let v="";const y={};function x(e){e.getSubCommands?(set_store_value(visibleCommandPalette,d=e,d),g.focus(),n(0,v=""),n(2,o=0)):(set_store_value(visibleCommandPalette,d=null,d),e.onClick())}onMount((()=>{const e=document.activeElement;return g.focus(),()=>{e&&e.focus()}}));return e.$$.update=()=>{1&e.$$.dirty&&n(2,o=0),16&e.$$.dirty&&n(3,r=_.isPlainObject(d)?d:null),131072&e.$$.dirty&&n(11,i=_.sortBy(Object.values(f).filter((e=>e.enabled)),"text")),65536&e.$$.dirty&&n(13,a=_.get(h,"connection._id")),65536&e.$$.dirty&&n(12,s=_.get(h,"name")),12288&e.$$.dirty&&(n(8,c=useDatabaseInfo({conid:a,database:s})),b(),b=subscribe(c,(e=>n(15,m=e)))),63513&e.$$.dirty&&n(6,u=("database"==d?extractDbItems(m,{conid:a,database:s},p):r?r.getSubCommands():i).filter((e=>!e.isGroupCommand&&lib$4.filterName(v,e.text)))),6&e.$$.dirty&&y[o]&&y[o].scrollIntoView({block:"nearest",inline:"nearest"})},n(7,l=useConnectionList()),$(),$=subscribe(l,(e=>n(14,p=e))),[v,y,o,r,d,g,u,l,c,x,function(e){e.keyCode==keycodes.upArrow&&o>0&&n(2,o--,o),e.keyCode==keycodes.downArrow&&o<u.length-1&&n(2,o++,o),e.keyCode==keycodes.enter&&(e.preventDefault(),e.stopPropagation(),x(u[o])),e.keyCode==keycodes.escape&&set_store_value(visibleCommandPalette,d=null,d),e.keyCode==keycodes.pageDown&&n(2,o=Math.min(o+15,u.length-1)),e.keyCode==keycodes.pageUp&&n(2,o=Math.max(o-15,0))},i,s,a,p,m,h,f,()=>{set_store_value(visibleCommandPalette,d="menu",d),g.focus()},()=>{set_store_value(visibleCommandPalette,d="database",d),g.focus()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{g=e,n(5,g)}))},function(){v=this.value,n(0,v)},e=>x(e),function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{y[t]=e,n(1,y)}))},()=>{set_store_value(visibleCommandPalette,d=null,d)}]}registerCommand({id:"commandPalette.show",category:"Command palette",name:"Show",toolbarName:"Command palette",toolbarOrder:0,keyText:"F1",toolbar:!0,showDisabled:!0,icon:"icon menu",onClick:()=>visibleCommandPalette.set("menu"),testEnabled:()=>"menu"!=getVisibleCommandPalette()}),registerCommand({id:"database.search",category:"Database",toolbarName:"Database search",name:"Search",keyText:isElectronAvailable()?"CtrlOrCommand+P":"F3",onClick:()=>visibleCommandPalette.set("database"),testEnabled:()=>"database"!=getVisibleCommandPalette()});class CommandPalette extends SvelteComponent{constructor(e){super(),init(this,e,instance$g,create_fragment$f,safe_not_equal,{})}}function get_each_context$6(e,t,n){const o=e.slice();return o[8]=t[n],o}function get_each_context_1(e,t,n){const o=e.slice();return o[8]=t[n],o}function get_each_context_2(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block_1$6(e){let t,n;return t=new ToolbarButton({props:{externalImage:"logo192.png"}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2(e){let t,n=e[13].title+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){4&o&&n!==(n=e[13].title+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_each_block_2(e){let t,n;return t=new ToolbarButton({props:{icon:e[13].icon||"icon favorite",$$slots:{default:[create_default_slot_2]},$$scope:{ctx:e}}}),t.$on("click",(function(){return e[7](e[13])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4&o&&(r.icon=e[13].icon||"icon favorite"),65540&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1(e){let t,n,o=(e[8].toolbarName||e[8].name)+"";return{c(){t=text$1(o),n=space()},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,n){1&n&&o!==(o=(e[8].toolbarName||e[8].name)+"")&&set_data(t,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_each_block_1(e){let t,n;return t=new ToolbarButton({props:{icon:e[8].icon,disabled:!e[8].enabled,title:getCommandTitle(e[8]),$$slots:{default:[create_default_slot_1]},$$scope:{ctx:e}}}),t.$on("click",(function(){is_function(e[8].onClick)&&e[8].onClick.apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};1&o&&(r.icon=e[8].icon),1&o&&(r.disabled=!e[8].enabled),1&o&&(r.title=getCommandTitle(e[8])),65537&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$7(e){let t,n,o,r,i,a,s,c=e[3].title+"";return o=new FontIcon({props:{icon:e[3].icon}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(c),a=text$1(":"),attr(n,"class","activeTabInner svelte-1qj7qwd"),attr(t,"class","activeTab svelte-1qj7qwd")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(n,a),s=!0},p(e,t){const n={};8&t&&(n.icon=e[3].icon),o.$set(n),(!s||8&t)&&c!==(c=e[3].title+"")&&set_data(i,c)},i(e){s||(transition_in(o.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_default_slot$1(e){let t,n,o=(e[8].toolbarName||e[8].name)+"";return{c(){t=text$1(o),n=space()},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,n){1&n&&o!==(o=(e[8].toolbarName||e[8].name)+"")&&set_data(t,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_each_block$6(e){let t,n;return t=new ToolbarButton({props:{icon:e[8].icon,disabled:!e[8].enabled,title:getCommandTitle(e[8]),$$slots:{default:[create_default_slot$1]},$$scope:{ctx:e}}}),t.$on("click",(function(){is_function(e[8].onClick)&&e[8].onClick.apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};1&o&&(r.icon=e[8].icon),1&o&&(r.disabled=!e[8].enabled),1&o&&(r.title=getCommandTitle(e[8])),65537&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$e(e){let t,n,o,r,i,a,s,c,l=e[3]&&e[0].filter(func).length>0,u=!e[4]&&create_if_block_1$6(e),d=(e[2]||[]).filter(func_1),p=[];for(let t=0;t<d.length;t+=1)p[t]=create_each_block_2(get_each_context_2(e,d,t));const m=e=>transition_out(p[e],1,1,(()=>{p[e]=null}));let h=e[0].filter(func_2),f=[];for(let t=0;t<h.length;t+=1)f[t]=create_each_block_1(get_each_context_1(e,h,t));const g=e=>transition_out(f[e],1,1,(()=>{f[e]=null}));let _=l&&create_if_block$7(e),$=e[0].filter(func_3),b=[];for(let t=0;t<$.length;t+=1)b[t]=create_each_block$6(get_each_context$6(e,$,t));const v=e=>transition_out(b[e],1,1,(()=>{b[e]=null}));return{c(){t=element("div"),n=element("div"),u&&u.c(),o=space();for(let e=0;e<p.length;e+=1)p[e].c();r=space();for(let e=0;e<f.length;e+=1)f[e].c();i=space(),a=element("div"),_&&_.c(),s=space();for(let e=0;e<b.length;e+=1)b[e].c();attr(n,"class","container svelte-1qj7qwd"),attr(a,"class","container svelte-1qj7qwd"),attr(t,"class","root svelte-1qj7qwd")},m(e,l){insert(e,t,l),append(t,n),u&&u.m(n,null),append(n,o);for(let e=0;e<p.length;e+=1)p[e].m(n,null);append(n,r);for(let e=0;e<f.length;e+=1)f[e].m(n,null);append(t,i),append(t,a),_&&_.m(a,null),append(a,s);for(let e=0;e<b.length;e+=1)b[e].m(a,null);c=!0},p(e,[t]){if(e[4]||u.p(e,t),4&t){let o;for(d=(e[2]||[]).filter(func_1),o=0;o<d.length;o+=1){const i=get_each_context_2(e,d,o);p[o]?(p[o].p(i,t),transition_in(p[o],1)):(p[o]=create_each_block_2(i),p[o].c(),transition_in(p[o],1),p[o].m(n,r))}for(group_outros(),o=d.length;o<p.length;o+=1)m(o);check_outros()}if(1&t){let o;for(h=e[0].filter(func_2),o=0;o<h.length;o+=1){const r=get_each_context_1(e,h,o);f[o]?(f[o].p(r,t),transition_in(f[o],1)):(f[o]=create_each_block_1(r),f[o].c(),transition_in(f[o],1),f[o].m(n,null))}for(group_outros(),o=h.length;o<f.length;o+=1)g(o);check_outros()}if(9&t&&(l=e[3]&&e[0].filter(func).length>0),l?_?(_.p(e,t),9&t&&transition_in(_,1)):(_=create_if_block$7(e),_.c(),transition_in(_,1),_.m(a,s)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),1&t){let n;for($=e[0].filter(func_3),n=0;n<$.length;n+=1){const o=get_each_context$6(e,$,n);b[n]?(b[n].p(o,t),transition_in(b[n],1)):(b[n]=create_each_block$6(o),b[n].c(),transition_in(b[n],1),b[n].m(a,null))}for(group_outros(),n=$.length;n<b.length;n+=1)v(n);check_outros()}},i(e){if(!c){transition_in(u);for(let e=0;e<d.length;e+=1)transition_in(p[e]);for(let e=0;e<h.length;e+=1)transition_in(f[e]);transition_in(_);for(let e=0;e<$.length;e+=1)transition_in(b[e]);c=!0}},o(e){transition_out(u),p=p.filter(Boolean);for(let e=0;e<p.length;e+=1)transition_out(p[e]);f=f.filter(Boolean);for(let e=0;e<f.length;e+=1)transition_out(f[e]);transition_out(_),b=b.filter(Boolean);for(let e=0;e<b.length;e+=1)transition_out(b[e]);c=!1},d(e){e&&detach(t),u&&u.d(),destroy_each(p,e),destroy_each(f,e),_&&_.d(),destroy_each(b,e)}}}function getCommandTitle(e){let t=e.text;return(e.keyText||e.keyTextFromGroup)&&(t+=` (${formatKeyText(e.keyText||e.keyTextFromGroup)})`),t}const func=e=>e.isRelatedToTab,func_1=e=>e.showInToolbar,func_2=e=>!e.isRelatedToTab,func_3=e=>e.isRelatedToTab;function instance$f(e,t,n){let o,r,i,a,s,c=noop$3;component_subscribe(e,commandsCustomized,(e=>n(5,i=e))),component_subscribe(e,activeTab,(e=>n(3,s=e))),e.$$.on_destroy.push((()=>c()));const l=getElectron();return e.$$.update=()=>{32&e.$$.dirty&&n(0,r=_.sortBy(Object.values(i).filter((e=>(e.enabled||e.showDisabled)&&e.toolbar&&e.onClick)),(e=>null==e.toolbarOrder?100:e.toolbarOrder)))},n(1,o=useFavorites()),c(),c=subscribe(o,(e=>n(2,a=e))),[r,o,a,s,l,i,()=>runCommand("about.show"),e=>openFavorite(e)]}class Toolbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$f,create_fragment$e,safe_not_equal,{})}}function get_each_context$5(e,t,n){const o=e.slice();return o[20]=t[n],o}function create_else_block$2(e){let t,n,o,r,i,a,s,c,l,u=(e[20].text||e[20].label)+"",d=e[20].keyText&&create_if_block_3$2(e),p=e[20].submenu&&create_if_block_2$2();function m(...t){return e[15](e[20],...t)}function h(...t){return e[16](e[20],...t)}return{c(){t=element("li"),n=element("a"),o=text$1(u),r=space(),d&&d.c(),i=space(),p&&p.c(),a=space(),attr(n,"class","svelte-1dx95r8"),toggle_class(n,"disabled",e[20].disabled)},m(e,u){insert(e,t,u),append(t,n),append(n,o),append(n,r),d&&d.m(n,null),append(n,i),p&&p.m(n,null),append(t,a),s=!0,c||(l=[listen(n,"click",m),listen(t,"mouseenter",h)],c=!0)},p(t,r){e=t,(!s||256&r)&&u!==(u=(e[20].text||e[20].label)+"")&&set_data(o,u),e[20].keyText?d?d.p(e,r):(d=create_if_block_3$2(e),d.c(),d.m(n,i)):d&&(d.d(1),d=null),e[20].submenu?p?256&r&&transition_in(p,1):(p=create_if_block_2$2(),p.c(),transition_in(p,1),p.m(n,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),256&r&&toggle_class(n,"disabled",e[20].disabled)},i(e){s||(transition_in(p),s=!0)},o(e){transition_out(p),s=!1},d(e){e&&detach(t),d&&d.d(),p&&p.d(),c=!1,run_all(l)}}}function create_if_block_1$5(e){let t;return{c(){t=element("li"),attr(t,"class","divider svelte-1dx95r8")},m(e,n){insert(e,t,n)},p:noop$3,i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_3$2(e){let t,n,o=formatKeyText(e[20].keyText)+"";return{c(){t=element("span"),n=text$1(o),attr(t,"class","keyText svelte-1dx95r8")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){256&t&&o!==(o=formatKeyText(e[20].keyText)+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block_2$2(e){let t,n,o;return n=new FontIcon({props:{icon:"icon menu-right"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","menu-right svelte-1dx95r8")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_each_block$5(e){let t,n,o,r;const i=[create_if_block_1$5,create_else_block$2],a=[];function s(e,t){return e[20].divider?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_if_block$6(e){let t,n;const o=[{items:e[6]?.submenu},e[7],{onCloseParent:e[18]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DropDownMenu({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=708&n?get_spread_update(o,[64&n&&{items:e[6]?.submenu},128&n&&get_spread_object(e[7]),516&n&&{onCloseParent:e[18]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$d(e){let t,n,o,r,i,a=e[8],s=[];for(let t=0;t<a.length;t+=1)s[t]=create_each_block$5(get_each_context$5(e,a,t));const c=e=>transition_out(s[e],1,1,(()=>{s[e]=null}));let l=e[6]?.submenu&&create_if_block$6(e);return{c(){t=element("ul");for(let e=0;e<s.length;e+=1)s[e].c();o=space(),l&&l.c(),r=empty(),attr(t,"class","dropDownMenuMarker svelte-1dx95r8"),attr(t,"style",n=`left: ${e[1]}px; top: ${e[0]}px`)},m(n,a){insert(n,t,a);for(let e=0;e<s.length;e+=1)s[e].m(t,null);e[17](t),insert(n,o,a),l&&l.m(n,a),insert(n,r,a),i=!0},p(e,[o]){if(3376&o){let n;for(a=e[8],n=0;n<a.length;n+=1){const r=get_each_context$5(e,a,n);s[n]?(s[n].p(r,o),transition_in(s[n],1)):(s[n]=create_each_block$5(r),s[n].c(),transition_in(s[n],1),s[n].m(t,null))}for(group_outros(),n=a.length;n<s.length;n+=1)c(n);check_outros()}(!i||3&o&&n!==(n=`left: ${e[1]}px; top: ${e[0]}px`))&&attr(t,"style",n),e[6]?.submenu?l?(l.p(e,o),64&o&&transition_in(l,1)):(l=create_if_block$6(e),l.c(),transition_in(l,1),l.m(r.parentNode,r)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros())},i(e){if(!i){for(let e=0;e<a.length;e+=1)transition_in(s[e]);transition_in(l),i=!0}},o(e){s=s.filter(Boolean);for(let e=0;e<s.length;e+=1)transition_out(s[e]);transition_out(l),i=!1},d(n){n&&detach(t),destroy_each(s,n),e[17](null),n&&detach(o),l&&l.d(n),n&&detach(r)}}}function getElementOffset(e,t=null){var n=document.documentElement,o=e.getBoundingClientRect(),r=o.top+window.pageYOffset-n.clientTop,i=o.left+window.pageXOffset-n.clientLeft;return"right"==t?{top:r,left:i+o.width}:{top:r,left:i}}function fixPopupPlacement(e){const{width:t,height:n}=e.getBoundingClientRect();let o=getElementOffset(e),r=null,i=null;o.left+t>window.innerWidth&&(r=o.left-t,r<0&&(r=0)),o.top+n>window.innerHeight&&(i=o.top-n,i<0&&(i=0),i+n>window.innerHeight&&(e.style.height=window.innerHeight-i+"px")),null!=r&&(e.style.left=`${r}px`),null!=i&&(e.style.top=`${i}px`)}function instance$e(e,t,n){let o,r;component_subscribe(e,commandsCustomized,(e=>n(14,r=e)));let i,a,s,c,l,{items:u}=t,{top:d}=t,{left:p}=t,{onCloseParent:m}=t,{targetElement:h}=t;const f=createEventDispatcher();function g(e,t){if(!t.disabled){if(t.submenu)return n(4,a=t),n(5,s=getElementOffset(e.target,"right")),n(6,c=t),void n(7,l=s);f("close"),m&&m(),t.onClick&&t.onClick()}}onMount((()=>{fixPopupPlacement(i)}));const $=_.throttle((()=>{n(6,c=a),n(7,l=s)}),500),b=e=>{e.target.closest("ul.dropDownMenuMarker")||f("close")};onMount((()=>(document.addEventListener("mousedown",b,!0),()=>{document.removeEventListener("mousedown",b,!0)})));return e.$$set=e=>{"items"in e&&n(12,u=e.items),"top"in e&&n(0,d=e.top),"left"in e&&n(1,p=e.left),"onCloseParent"in e&&n(2,m=e.onCloseParent),"targetElement"in e&&n(13,h=e.targetElement)},e.$$.update=()=>{28672&e.$$.dirty&&n(8,o=prepareMenuItems(u,{targetElement:h},r))},[d,p,m,i,a,s,c,l,o,f,g,$,u,h,r,(e,t)=>g(t,e),(e,t)=>{n(5,s=getElementOffset(t.target,"right")),n(4,a=e),$()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{i=e,n(3,i)}))},()=>{m&&m(),f("close")}]}class DropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$e,create_fragment$d,safe_not_equal,{items:12,top:0,left:1,onCloseParent:2,targetElement:13})}}function create_if_block$5(e){let t,n;return t=new DropDownMenu({props:{left:e[0].left,top:e[0].top,items:e[0].items,targetElement:e[0].targetElement}}),t.$on("close",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.left=e[0].left),1&n&&(o.top=e[0].top),1&n&&(o.items=e[0].items),1&n&&(o.targetElement=e[0].targetElement),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$c(e){let t,n,o=e[0]&&create_if_block$5(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$5(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$d(e,t,n){let o;component_subscribe(e,currentDropDownMenu,(e=>n(0,o=e)));return[o,()=>set_store_value(currentDropDownMenu,o=null,o)]}class CurrentDropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$d,create_fragment$c,safe_not_equal,{})}}function create_default_slot(e){let t,n,o,r,i;return r=new ColorSelector({props:{value:e[4]}}),r.$on("change",e[8]),{c(){t=element("div"),n=text$1(e[3]),o=space(),create_component(r.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(r,e,a),i=!0},p(e,t){(!i||8&t)&&set_data(n,e[3]);const o={};16&t&&(o.value=e[4]),r.$set(o)},i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(r,e)}}}function create_header_slot(e){let t;return{c(){t=text$1(e[2])},m(e,n){insert(e,t,n)},p(e,n){4&n&&set_data(t,e[2])},d(e){e&&detach(t)}}}function create_fragment$b(e){let t,n;const o=[e[6]];let r={$$slots:{header:[create_header_slot],default:[create_default_slot]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=64&n?get_spread_update(o,[get_spread_object(e[6])]):{};543&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$c(e,t,n){let o;const r=["conid","database","header","text"];let i,a=compute_rest_props(t,r),{conid:s}=t,{database:c}=t,{header:l}=t,{text:u}=t;const d=useConnectionColor({conid:s,database:c},null,null,!1,!1);component_subscribe(e,d,(e=>n(7,i=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,a=compute_rest_props(t,r)),"conid"in e&&n(0,s=e.conid),"database"in e&&n(1,c=e.database),"header"in e&&n(2,l=e.header),"text"in e&&n(3,u=e.text)},e.$$.update=()=>{128&e.$$.dirty&&n(4,o=i)},[s,c,l,u,o,d,a,i,e=>{n(4,o=e.detail),c?apiCall("connections/update-database",{conid:s,database:c,values:{connectionColor:e.detail}}):apiCall("connections/update",{_id:s,values:{connectionColor:e.detail}})}]}class ChooseConnectionColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$c,create_fragment$b,safe_not_equal,{conid:0,database:1,header:2,text:3})}}function get_each_context$4(e,t,n){const o=e.slice();return o[24]=t[n],o}function create_if_block_13(e){let t,n,o,r,i,a,s,c;const l=[create_if_block_15,create_else_block$1],u=[];function d(e,t){return e[1]?.isReadOnly?0:1}n=d(e),o=u[n]=l[n](e);let p=e[2]&&create_if_block_14(e);return{c(){t=element("div"),o.c(),r=space(),i=text$1(e[0]),a=space(),p&&p.c(),s=empty(),attr(t,"class","item svelte-1yzh05e")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,r),append(t,i),insert(e,a,o),p&&p.m(e,o),insert(e,s,o),c=!0},p(e,a){let m=n;n=d(e),n!==m&&(group_outros(),transition_out(u[m],1,1,(()=>{u[m]=null})),check_outros(),o=u[n],o||(o=u[n]=l[n](e),o.c()),transition_in(o,1),o.m(t,r)),(!c||1&a)&&set_data(i,e[0]),e[2]?p?(p.p(e,a),4&a&&transition_in(p,1)):(p=create_if_block_14(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){c||(transition_in(o),transition_in(p),c=!0)},o(e){transition_out(o),transition_out(p),c=!1},d(e){e&&detach(t),u[n].d(),e&&detach(a),p&&p.d(e),e&&detach(s)}}}function create_else_block$1(e){let t,n;return t=new FontIcon({props:{icon:"icon database",padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_15(e){let t,n;return t=new FontIcon({props:{icon:"icon lock",padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_14(e){let t,n,o,r,i,a;return o=new FontIcon({props:{icon:"icon palette"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"style",e[12]),attr(n,"class","colorbox svelte-1yzh05e"),attr(t,"class","item clickable svelte-1yzh05e"),attr(t,"title","Database color. Overrides connection color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),r=!0,i||(a=listen(t,"click",e[20]),i=!0)},p(e,t){(!r||4096&t)&&attr(n,"style",e[12])},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o),i=!1,a()}}}function create_if_block_11(e){let t,n,o,r,i,a,s;n=new FontIcon({props:{icon:"icon server",padRight:!0}});let c=e[2]&&create_if_block_12(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(e[7]),i=space(),c&&c.c(),a=empty(),attr(t,"class","item svelte-1yzh05e")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,r),insert(e,i,l),c&&c.m(e,l),insert(e,a,l),s=!0},p(e,t){(!s||128&t)&&set_data(r,e[7]),e[2]?c?(c.p(e,t),4&t&&transition_in(c,1)):(c=create_if_block_12(e),c.c(),transition_in(c,1),c.m(a.parentNode,a)):c&&(group_outros(),transition_out(c,1,1,(()=>{c=null})),check_outros())},i(e){s||(transition_in(n.$$.fragment,e),transition_in(c),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(c),s=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(i),c&&c.d(e),e&&detach(a)}}}function create_if_block_12(e){let t,n,o,r,i,a;return o=new FontIcon({props:{icon:"icon palette"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"style",e[13]),attr(n,"class","colorbox svelte-1yzh05e"),attr(t,"class","item clickable svelte-1yzh05e"),attr(t,"title","Connection color. Can be overriden by database color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),r=!0,i||(a=listen(t,"click",e[21]),i=!0)},p(e,t){(!r||8192&t)&&attr(n,"style",e[13])},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o),i=!1,a()}}}function create_if_block_10(e){let t,n,o,r,i,a=e[1].user+"";return n=new FontIcon({props:{icon:"icon account",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","item svelte-1yzh05e")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){(!i||2&t)&&a!==(a=e[1].user+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_4$1(e){let t,n,o,r,i,a;const s=[create_if_block_5$1,create_if_block_6$1,create_if_block_7,create_if_block_8,create_if_block_9],c=[];function l(e,t){return"pending"==e[14].name?0:"checkStructure"==e[14].name?1:"loadStructure"==e[14].name?2:"ok"==e[14].name?3:"error"==e[14].name?4:-1}return~(n=l(e))&&(o=c[n]=s[n](e)),{c(){t=element("div"),o&&o.c(),attr(t,"class","item clickable svelte-1yzh05e")},m(o,s){insert(o,t,s),~n&&c[n].m(t,null),r=!0,i||(a=listen(t,"click",e[22]),i=!0)},p(e,r){let i=n;n=l(e),n!==i&&(o&&(group_outros(),transition_out(c[i],1,1,(()=>{c[i]=null})),check_outros()),~n?(o=c[n],o||(o=c[n]=s[n](e),o.c()),transition_in(o,1),o.m(t,null)):o=null)},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){e&&detach(t),~n&&c[n].d(),i=!1,a()}}}function create_if_block_9(e){let t,n,o;return t=new FontIcon({props:{icon:"img error-inv",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Error")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_8(e){let t,n,o;return t=new FontIcon({props:{icon:"img ok-inv",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Connected")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_7(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Loading model")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_6$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Checking model")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_5$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Loading")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_3$1(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon disconnected",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Not connected"),attr(t,"class","item svelte-1yzh05e")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_2$1(e){let t,n,o,r,i,a,s,c=(e[15].versionText||e[15].version)+"";return n=new FontIcon({props:{icon:"icon version",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=text$1(c),attr(r,"class","version svelte-1yzh05e"),attr(t,"class","item flex svelte-1yzh05e"),attr(t,"title",a=e[15].version)},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),s=!0},p(e,n){(!s||32768&n)&&c!==(c=(e[15].versionText||e[15].version)+"")&&set_data(i,c),(!s||32768&n&&a!==(a=e[15].version))&&attr(t,"title",a)},i(e){s||(transition_in(n.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_1$4(e){let t,n,o,r,i,a,s,c,l,u=moment(e[14]?.analysedTime).fromNow()+(e[3],"");return n=new FontIcon({props:{icon:"icon history",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=text$1(u),attr(r,"class","version ml-1 svelte-1yzh05e"),attr(t,"class","item flex clickable svelte-1yzh05e"),attr(t,"title",a=`Last ${e[0]} model refresh: ${moment(e[14]?.analysedTime).format("HH:mm:ss")}\nClick for refresh DB model`)},m(a,u){insert(a,t,u),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),s=!0,c||(l=listen(t,"click",e[16]),c=!0)},p(e,n){(!s||16392&n)&&u!==(u=moment(e[14]?.analysedTime).fromNow()+(e[3],""))&&set_data(i,u),(!s||16385&n&&a!==(a=`Last ${e[0]} model refresh: ${moment(e[14]?.analysedTime).format("HH:mm:ss")}\nClick for refresh DB model`))&&attr(t,"title",a)},i(e){s||(transition_in(n.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),c=!1,l()}}}function create_if_block$4(e){let t,n;return t=new FontIcon({props:{icon:e[24].icon,padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.icon=e[24].icon),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$4(e){let t,n,o,r,i,a,s,c=e[24].text+"",l=e[24].icon&&create_if_block$4(e);return{c(){t=element("div"),l&&l.c(),n=space(),o=text$1(c),r=space(),attr(t,"class","item svelte-1yzh05e"),toggle_class(t,"clickable",e[24].clickable)},m(c,u){insert(c,t,u),l&&l.m(t,null),append(t,n),append(t,o),append(t,r),i=!0,a||(s=listen(t,"click",(function(){is_function(e[24].onClick)&&e[24].onClick.apply(this,arguments)})),a=!0)},p(r,a){(e=r)[24].icon?l?(l.p(e,a),256&a&&transition_in(l,1)):(l=create_if_block$4(e),l.c(),transition_in(l,1),l.m(t,n)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),(!i||256&a)&&c!==(c=e[24].text+"")&&set_data(o,c),256&a&&toggle_class(t,"clickable",e[24].clickable)},i(e){i||(transition_in(l),i=!0)},o(e){transition_out(l),i=!1},d(e){e&&detach(t),l&&l.d(),a=!1,s()}}}function create_fragment$a(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[0]&&create_if_block_13(e),m=e[7]&&create_if_block_11(e),h=e[1]&&e[1].user&&create_if_block_10(e),f=e[1]&&e[14]&&create_if_block_4$1(e),g=!e[1]&&create_if_block_3$1(),_=e[15]&&create_if_block_2$1(e),$=e[14]?.analysedTime&&create_if_block_1$4(e),b=e[8]||[],v=[];for(let t=0;t<b.length;t+=1)v[t]=create_each_block$4(get_each_context$4(e,b,t));const y=e=>transition_out(v[e],1,1,(()=>{v[e]=null}));return{c(){t=element("div"),n=element("div"),p&&p.c(),o=space(),m&&m.c(),r=space(),h&&h.c(),i=space(),f&&f.c(),a=space(),g&&g.c(),s=space(),_&&_.c(),c=space(),$&&$.c(),l=space(),u=element("div");for(let e=0;e<v.length;e+=1)v[e].c();attr(n,"class","container svelte-1yzh05e"),attr(u,"class","container svelte-1yzh05e"),attr(t,"class","main svelte-1yzh05e"),attr(t,"style",e[11])},m(e,b){insert(e,t,b),append(t,n),p&&p.m(n,null),append(n,o),m&&m.m(n,null),append(n,r),h&&h.m(n,null),append(n,i),f&&f.m(n,null),append(n,a),g&&g.m(n,null),append(n,s),_&&_.m(n,null),append(n,c),$&&$.m(n,null),append(t,l),append(t,u);for(let e=0;e<v.length;e+=1)v[e].m(u,null);d=!0},p(e,[l]){if(e[0]?p?(p.p(e,l),1&l&&transition_in(p,1)):(p=create_if_block_13(e),p.c(),transition_in(p,1),p.m(n,o)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),e[7]?m?(m.p(e,l),128&l&&transition_in(m,1)):(m=create_if_block_11(e),m.c(),transition_in(m,1),m.m(n,r)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),e[1]&&e[1].user?h?(h.p(e,l),2&l&&transition_in(h,1)):(h=create_if_block_10(e),h.c(),transition_in(h,1),h.m(n,i)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),e[1]&&e[14]?f?(f.p(e,l),16386&l&&transition_in(f,1)):(f=create_if_block_4$1(e),f.c(),transition_in(f,1),f.m(n,a)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),e[1]?g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros()):g?2&l&&transition_in(g,1):(g=create_if_block_3$1(),g.c(),transition_in(g,1),g.m(n,s)),e[15]?_?(_.p(e,l),32768&l&&transition_in(_,1)):(_=create_if_block_2$1(e),_.c(),transition_in(_,1),_.m(n,c)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),e[14]?.analysedTime?$?($.p(e,l),16384&l&&transition_in($,1)):($=create_if_block_1$4(e),$.c(),transition_in($,1),$.m(n,null)):$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()),256&l){let t;for(b=e[8]||[],t=0;t<b.length;t+=1){const n=get_each_context$4(e,b,t);v[t]?(v[t].p(n,l),transition_in(v[t],1)):(v[t]=create_each_block$4(n),v[t].c(),transition_in(v[t],1),v[t].m(u,null))}for(group_outros(),t=b.length;t<v.length;t+=1)y(t);check_outros()}(!d||2048&l)&&attr(t,"style",e[11])},i(e){if(!d){transition_in(p),transition_in(m),transition_in(h),transition_in(f),transition_in(g),transition_in(_),transition_in($);for(let e=0;e<b.length;e+=1)transition_in(v[e]);d=!0}},o(e){transition_out(p),transition_out(m),transition_out(h),transition_out(f),transition_out(g),transition_out(_),transition_out($),v=v.filter(Boolean);for(let e=0;e<v.length;e+=1)transition_out(v[e]);d=!1},d(e){e&&detach(t),p&&p.d(),m&&m.d(),h&&h.d(),f&&f.d(),g&&g.d(),_&&_.d(),$&&$.d(),destroy_each(v,e)}}}function instance$b(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y=noop$3,x=noop$3,w=noop$3,C=noop$3,k=noop$3;component_subscribe(e,activeTabId,(e=>n(17,m=e))),component_subscribe(e,statusBarTabInfo,(e=>n(18,h=e))),component_subscribe(e,currentDatabase,(e=>n(19,f=e))),e.$$.on_destroy.push((()=>y())),e.$$.on_destroy.push((()=>x())),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k()));var S=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let T=1;setInterval((()=>{n(3,T++,T)}),1e4);return e.$$.update=()=>{524288&e.$$.dirty&&n(0,o=f&&f.name),524288&e.$$.dirty&&n(1,r=f&&f.connection),3&e.$$.dirty&&n(2,i=r?{conid:r._id,database:o}:null),4&e.$$.dirty&&(n(10,a=useDatabaseStatus(i||{})),C(),C=subscribe(a,(e=>n(14,b=e)))),4&e.$$.dirty&&(n(9,s=useDatabaseServerVersion(i||{})),k(),k=subscribe(s,(e=>n(15,v=e)))),393216&e.$$.dirty&&n(8,c=h[m]),2&e.$$.dirty&&n(7,l=getConnectionLabel(r,{allowExplicitDatabase:!1})),4&e.$$.dirty&&(n(6,u=useConnectionColor(i,3,"dark",!0)),y(),y=subscribe(u,(e=>n(11,g=e)))),4&e.$$.dirty&&(n(5,d=useConnectionColor(i?{conid:i.conid}:null,6,"dark",!0)),w(),w=subscribe(d,(e=>n(13,$=e)))),4&e.$$.dirty&&(n(4,p=useConnectionColor(i,6,"dark",!0,!1)),x(),x=subscribe(p,(e=>n(12,_=e))))},[o,r,i,T,p,d,u,l,c,s,a,g,_,$,b,v,function(){return S(this,void 0,void 0,(function*(){r&&o&&(yield apiCall("database-connections/sync-model",{conid:r._id,database:o}))}))},m,h,f,()=>{showModal(ChooseConnectionColorModal,{...i,header:"Choose database color",text:"This color override connection color for specific database."})},()=>{showModal(ChooseConnectionColorModal,{conid:i.conid,header:"Choose connection color",text:"This color serves as default color for all databases in this connection."})},()=>visibleCommandPalette.set(findCommand("database.changeState"))]}class StatusBar extends SvelteComponent{constructor(e){super(),init(this,e,instance$b,create_fragment$a,safe_not_equal,{})}}function get_each_context$3(e,t,n){const o=e.slice();return o[7]=t[n],o}function create_if_block_1$3(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","close svelte-7p89xz")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",e[4]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_if_block$3(e){let t,n,o=e[3],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$3(get_each_context$3(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("div");for(let e=0;e<r.length;e+=1)r[e].c();attr(t,"class","buttons svelte-7p89xz")},m(e,o){insert(e,t,o);for(let e=0;e<r.length;e+=1)r[e].m(t,null);n=!0},p(e,n){if(8&n){let a;for(o=e[3],a=0;a<o.length;a+=1){const i=get_each_context$3(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$3(i),r[a].c(),transition_in(r[a],1),r[a].m(t,null))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function create_each_block$3(e){let t,n,o,r;return n=new FormStyledButton({props:{value:e[7].label}}),n.$on("click",(function(){is_function(e[7].onClick)&&e[7].onClick.apply(this,arguments)})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),attr(t,"class","button svelte-7p89xz")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},p(t,o){e=t;const r={};8&o&&(r.value=e[7].label),n.$set(r)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$9(e){let t,n,o,r,i,a,s,c;o=new FontIcon({props:{icon:e[1]}});let l=e[2]&&create_if_block_1$3(e),u=e[3]?.length>0&&create_if_block$3(e);return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(e[0]),a=space(),l&&l.c(),s=space(),u&&u.c(),attr(n,"class","message svelte-7p89xz"),attr(t,"class","wrapper svelte-7p89xz")},m(e,d){insert(e,t,d),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),l&&l.m(t,null),append(t,s),u&&u.m(t,null),c=!0},p(e,[n]){const r={};2&n&&(r.icon=e[1]),o.$set(r),(!c||1&n)&&set_data(i,e[0]),e[2]?l?(l.p(e,n),4&n&&transition_in(l,1)):(l=create_if_block_1$3(e),l.c(),transition_in(l,1),l.m(t,s)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),e[3]?.length>0?u?(u.p(e,n),8&n&&transition_in(u,1)):(u=create_if_block$3(e),u.c(),transition_in(u,1),u.m(t,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){c||(transition_in(o.$$.fragment,e),transition_in(l),transition_in(u),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(l),transition_out(u),c=!1},d(e){e&&detach(t),destroy_component(o),l&&l.d(),u&&u.d()}}}function instance$a(e,t,n){let{message:o}=t,{id:r}=t,{icon:i=null}=t,{autoClose:a=!1}=t,{allowClose:s=!1}=t,{buttons:c=[]}=t;function l(){openedSnackbars.update((e=>e.filter((e=>e.id!=r))))}return onMount((()=>{a&&setTimeout(l,3e3)})),e.$$set=e=>{"message"in e&&n(0,o=e.message),"id"in e&&n(5,r=e.id),"icon"in e&&n(1,i=e.icon),"autoClose"in e&&n(6,a=e.autoClose),"allowClose"in e&&n(2,s=e.allowClose),"buttons"in e&&n(3,c=e.buttons)},[o,i,s,c,l,r,a]}class Snackbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$a,create_fragment$9,safe_not_equal,{message:0,id:5,icon:1,autoClose:6,allowClose:2,buttons:3})}}function get_each_context$2(e,t,n){const o=e.slice();return o[1]=t[n].component,o[2]=t[n].props,o[3]=t[n].modalId,o}function create_each_block$2(e){let t,n,o;const r=[{modalId:e[3]},e[2]];var i=e[1];function a(e){let t={};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=new i(a())),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const s=1&o?get_spread_update(r,[{modalId:e[3]},get_spread_object(e[2])]):{};if(i!==(i=e[1])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=new i(a()),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_fragment$8(e){let t,n,o=e[0],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$2(get_each_context$2(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t].m(e,o);insert(e,t,o),n=!0},p(e,[n]){if(1&n){let a;for(o=e[0],a=0;a<o.length;a+=1){const i=get_each_context$2(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$2(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function instance$9(e,t,n){let o;return component_subscribe(e,openedModals,(e=>n(0,o=e))),[o]}class ModalLayer extends SvelteComponent{constructor(e){super(),init(this,e,instance$9,create_fragment$8,safe_not_equal,{})}}function create_fragment$7(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[0].join(", ")+"";return r=new FontIcon({props:{icon:"icon cloud-upload"}}),{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=element("div"),a.textContent="Drop the files to upload to DbGate",s=space(),c=element("div"),l=text$1("Supported file types: "),u=text$1(p),attr(o,"class","icon svelte-1scpsju"),attr(a,"class","title svelte-1scpsju"),attr(c,"class","info svelte-1scpsju"),attr(t,"class","target svelte-1scpsju")},m(e,p){insert(e,t,p),append(t,n),append(n,o),mount_component(r,o,null),append(n,i),append(n,a),append(n,s),append(n,c),append(c,l),append(c,u),d=!0},p(e,[t]){(!d||1&t)&&p!==(p=e[0].join(", ")+"")&&set_data(u,p)},i(e){d||(transition_in(r.$$.fragment,e),d=!0)},o(e){transition_out(r.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(r)}}}function instance$8(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(1,r=e)));const i=getElectron();return e.$$.update=()=>{2&e.$$.dirty&&n(0,o=_.compact([...r.fileFormats.filter((e=>e.readerFunc)).map((e=>e.name)),i?"SQL":null,i?"SQLite database":null]))},[o,r]}class DragAndDropFileTarget extends SvelteComponent{constructor(e){super(),init(this,e,instance$8,create_fragment$7,safe_not_equal,{})}}
|
|
75
|
+
***************************************************************************** */function r(e,t){for(var n=0,o=t.length,r=e.length;n<o;n++,r++)e[r]=t[n];return e}function n(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:0}function t(e,t){return e[1]<t[1]?-1:e[1]>t[1]?1:0}function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!e.length)return[];for(var o=[],i=(e=e.sort(n))[0],a=i[0],s=i[1],c=1,l=e.length;c<l;c++){var u=e[c],d=u[0],p=u[1];s<d&&(o.push([a,s]),a=d),s<p&&(s=p)}return r(r([],o),[[a,s]])}function o(e,t){return function(e,t){return t[1]>e[0]&&t[0]<e[1]}(e,t)?t[0]>e[0]&&t[1]<e[1]?[[e[0],t[0]],[t[1],e[1]]]:t[0]<=e[0]&&t[1]>=e[1]?null:t[0]>e[0]?[[e[0],t[0]]]:[[t[1],e[1]]]:[e]}function u(t,n){var r,i=e.apply(void 0,t),a=e.apply(void 0,n);if(!i.length)return[];if(!a.length)return i;for(var s=[],c=0,l=i.length;c<l;c++){for(var u=i[c],d=u[0],p=u[1],m=!0,h=0,f=a.length;h<f;h++){var g=a[h];if(!(g[1]<=d)){if(g[0]>=p)break;var _=o([d,p],g);if(!_){m=!1;break}d=(r=_[_.length-1])[0],p=r[1],_.length>1&&s.push(_[0])}}m&&s.push([d,p])}return s}function l(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];e.sort(n);for(var r=[e[e.length-1][0],e.sort(t)[0][1]],i=r[0],a=r[1],s=0,c=e.length;s<c-1;s++){var l=e[s+1],u=l[0],d=l[1];if(u>a||d<i)return null}return[i,a]}function intersectLineLine(e,t,n,o){const r=(o.y-n.y)*(t.x-e.x)-(o.x-n.x)*(t.y-e.y);if(0===r)return null;const i=((o.x-n.x)*(e.y-n.y)-(o.y-n.y)*(e.x-n.x))/r,a=((t.x-e.x)*(e.y-n.y)-(t.y-e.y)*(e.x-n.x))/r;return i<0||i>1||a<0||a>1?null:{x:e.x+i*(t.x-e.x),y:e.y+i*(t.y-e.y)}}function intersectLineBox(e,t,n){const o={x:n.left,y:n.top},r={x:n.right,y:n.top},i={x:n.left,y:n.bottom},a={x:n.right,y:n.bottom},s=[];let c;return(c=intersectLineLine(e,t,o,r))&&s.push(c),(c=intersectLineLine(e,t,r,a))&&s.push(c),(c=intersectLineLine(e,t,a,i))&&s.push(c),(c=intersectLineLine(e,t,i,o))&&s.push(c),s}function rectangleDistance(e,t){function n(e,t,n,o){let r=e-n,i=t-o;return Math.sqrt(r*r+i*i)}const o=e.left,r=e.top,i=e.right,a=e.bottom,s=t.left,c=t.top,l=t.right,u=t.bottom,d=l<o,p=i<s,m=u<r,h=a<c;return h&&d?n(o,a,l,c):d&&m?n(o,r,l,u):m&&p?n(i,r,s,u):p&&h?n(i,a,s,c):d?o-l:p?s-i:m?r-u:h?c-a:0}function rectanglesHaveIntersection(e,t){const n=l([e.left,e.right],[t.left,t.right]),o=l([e.top,e.bottom],[t.top,t.bottom]);return!!n&&!!o}class Vector2D{constructor(e,t){this.x=e,this.y=t}static random(){return new Vector2D(10*(Math.random()-.5),10*(Math.random()-.5))}add(e){return new Vector2D(this.x+e.x,this.y+e.y)}subtract(e){return new Vector2D(this.x-e.x,this.y-e.y)}multiply(e){return new Vector2D(this.x*e,this.y*e)}divide(e){return new Vector2D(this.x/e||0,this.y/e||0)}magnitude(){return Math.sqrt(this.x*this.x+this.y*this.y)}normal(e){return new Vector2D(-this.y,this.x)}normalise(){return this.divide(this.magnitude())}}function solveOverlapsInIntervalArray(e,t,n){const o=u([[-1/0,1/0]],n),r=[];for(const n of o){if(!(n[1]-n[0]<t))if(n[1]<e)r.push(n[1]-t/2);else if(n[0]>e)r.push(n[0]+t/2);else{let o=e;o-t/2<n[0]&&(o=n[0]+t/2),o+t/2>n[1]&&(o=n[1]-t/2),r.push(o)}}return _.minBy(r,(t=>Math.abs(t-e)))}const MIN_NODE_DISTANCE=50,SPRING_LENGTH=100,SPRINGY_STEPS=50,GRAVITY_X=.005,GRAVITY_Y=.01,REPULSION=1e3,MAX_FORCE_SIZE=100,NODE_MARGIN=30,GRAVITY_EXPONENT=1.05;class GraphNode{constructor(e,t,n,o,r){this.graph=e,this.designerId=t,this.width=n,this.height=o,this.fixedPosition=r,this.neightboors=[]}initialize(){this.radius=Math.sqrt(this.width*this.width/4+this.height*this.height/4)}}class GraphEdge{constructor(e,t,n){this.graph=e,this.source=t,this.target=n}}class GraphDefinition{constructor(){this.nodes={},this.edges=[]}addNode(e,t,n,o){this.nodes[e]=new GraphNode(this,e,t,n,o)}addEdge(e,t){const n=this.nodes[e],o=this.nodes[t];n&&o&&!this.edges.find((e=>e.source==n&&e.target==o||e.target==n&&e.source==o))&&this.edges.push(new GraphEdge(this,n,o))}initialize(){for(const e of Object.values(this.nodes)){for(const t of this.edges)t.source!=e||e.neightboors.includes(t.target)||e.neightboors.push(t.target),t.target!=e||e.neightboors.includes(t.source)||e.neightboors.push(t.source);e.initialize()}}detectCentreNode(){if(_.values(this.nodes).find((e=>e.fixedPosition)))return null;const e=[];for(const t of _.values(this.nodes)){let n=!0;for(const e of _.values(this.nodes))if(t!=e&&!t.neightboors.includes(e)){n=!1;break}n&&e.push(t)}return 1==e.length?e[0]:null}}class LayoutNode{constructor(e,t,n){this.node=e,this.x=t,this.y=n,this.left=t-e.width/2,this.top=n-e.height/2,this.right=t+e.width/2,this.bottom=n+e.height/2,this.position=new Vector2D(t,n),this.rangeXPadded=[this.left-NODE_MARGIN,this.right+NODE_MARGIN],this.rangeYPadded=[this.top-NODE_MARGIN,this.bottom+NODE_MARGIN]}translate(e,t,n=!1){return this.node.fixedPosition&&!n?this:new LayoutNode(this.node,this.x+e,this.y+t)}distanceTo(e){return rectangleDistance(this,e)}hasPaddedIntersect(e){const t=l(this.rangeXPadded,e.rangeXPadded),n=l(this.rangeYPadded,e.rangeYPadded);return t&&t[1]-t[0]>.1&&n&&n[1]-n[0]>.1}}class ForceAlgorithmStep{constructor(e){this.layout=e,this.nodeForces={}}applyForce(e,t){t.magnitude()>MAX_FORCE_SIZE&&(t=t.normalise().multiply(MAX_FORCE_SIZE)),e.node.designerId in this.nodeForces?this.nodeForces[e.node.designerId]=this.nodeForces[e.node.designerId].add(t):this.nodeForces[e.node.designerId]=t}applyCoulombsLaw(){for(const e of _.values(this.layout.nodes))for(const t of _.values(this.layout.nodes)){if(e.node.designerId==t.node.designerId)continue;const n=e.position.subtract(t.position).normalise(),o=e.distanceTo(t)+MIN_NODE_DISTANCE;this.applyForce(e,n.multiply(.5*REPULSION/(o*o))),this.applyForce(t,n.multiply(-.5*REPULSION/(o*o)))}}applyHooksLaw(){for(const t of this.layout.edges){const n=t.target.position.subtract(t.source.position),o=SPRING_LENGTH-t.length;var e=n.normalise();this.applyForce(t.source,e.multiply(-.5*o)),this.applyForce(t.target,e.multiply(.5*o))}}applyGravity(){for(const e of _.values(this.layout.nodes))this.applyForce(e,new Vector2D(-Math.pow(Math.abs(e.position.x),GRAVITY_EXPONENT)*Math.sign(e.position.x)*GRAVITY_X,-Math.pow(Math.abs(e.position.y),GRAVITY_EXPONENT)*Math.sign(e.position.y)*GRAVITY_Y))}moveNode(e){const t=this.nodeForces[e.node.designerId];return t?e.translate(t.x,t.y):e}}class LayoutEdge{}function addNodeNeighboors(e,t,n){const o=_.sortBy(e,[e=>e.neightboors.length,e=>e.height,e=>e.designerId]);for(const e of o)n.has(e.designerId)||(n.add(e.designerId),t.push(e),addNodeNeighboors(e.neightboors,t,n));return t}class GraphLayout{constructor(e){this.graph=e,this.nodes={},this.edges=[]}static createCircle(e,t={x:0,y:0}){const n=new GraphLayout(e);if(_.isEmpty(e.nodes))return n;const o=new Set,r=[],i=e.detectCentreNode();addNodeNeighboors(_.values(e.nodes).filter((e=>e!=i&&!e.fixedPosition)),r,o);const a=_.max(r.map((e=>e.radius))),s=r.length*a/(2*Math.PI)+a;let c=0;const l=2*Math.PI/r.length;for(const e of r)n.nodes[e.designerId]=new LayoutNode(e,t.x+Math.sin(c)*s,t.y+Math.cos(c)*s),c+=l;for(const t of _.values(e.nodes).filter((e=>e.fixedPosition)))n.nodes[t.designerId]=new LayoutNode(t,t.fixedPosition.x,t.fixedPosition.y);return i&&(n.nodes[i.designerId]=new LayoutNode(i,t.x,t.y)),n.fillEdges(),n}fillEdges(){this.edges=this.graph.edges.map((e=>{const t=new LayoutEdge;t.edge=e;const n=this.nodes[e.source.designerId],o=this.nodes[e.target.designerId];return t.length=n.distanceTo(o),t.source=n,t.target=o,t}))}changePositions(e,t=!0){const n=new GraphLayout(this.graph);return n.nodes=_.mapValues(this.nodes,e),t&&n.fillEdges(),n}fixViewBox(){const e=_.min(_.values(this.nodes).map((e=>e.left))),t=_.min(_.values(this.nodes).map((e=>e.top)));return this.changePositions((n=>n.translate(50-e,50-t,!0)))}springyStep(){const e=new ForceAlgorithmStep(this);return e.applyHooksLaw(),e.applyCoulombsLaw(),e.applyGravity(),this.changePositions((t=>e.moveNode(t)))}springyAlg(){let e=this;for(let t=0;t<SPRINGY_STEPS;t++)e=e.springyStep();return e}solveOverlaps(){const t=_.sortBy(_.values(this.nodes),(e=>e.position.magnitude())),n=new GraphLayout(this.graph);for(const o of t){const t=_.values(n.nodes);if(t.find((e=>e.hasPaddedIntersect(o)))){const r=e(...t.filter((e=>l(e.rangeYPadded,o.rangeYPadded))).map((e=>e.rangeXPadded))),i=e(...t.filter((e=>l(e.rangeXPadded,o.rangeXPadded))).map((e=>e.rangeYPadded))),a=solveOverlapsInIntervalArray(o.x,o.node.width+2*NODE_MARGIN,r),s=solveOverlapsInIntervalArray(o.y,o.node.height+2*NODE_MARGIN,i),c=Math.abs(a-o.x)<Math.abs(s-o.y)?new LayoutNode(o.node,a,o.y):new LayoutNode(o.node,o.x,s);n.nodes[o.node.designerId]=c}else n.nodes[o.node.designerId]=o}return n.fillEdges(),n}print(){for(const e of _.values(this.nodes))console.log({designerId:e.node.designerId,left:e.left,top:e.top,right:e.right,bottom:e.bottom})}}function create_default_slot$J(e){let t,n,o,r,i;return r=new ColorSelector({props:{value:e[3]}}),r.$on("change",e[6]),{c(){t=element("div"),n=text$1(e[1]),o=space(),create_component(r.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(r,e,a),i=!0},p(e,t){(!i||2&t)&&set_data(n,e[1]);const o={};8&t&&(o.value=e[3]),r.$set(o)},i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(r,e)}}}function create_header_slot$8(e){let t;return{c(){t=text$1(e[0])},m(e,n){insert(e,t,n)},p(e,n){1&n&&set_data(t,e[0])},d(e){e&&detach(t)}}}function create_fragment$1O(e){let t,n;const o=[e[4]];let r={$$slots:{header:[create_header_slot$8],default:[create_default_slot$J]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};143&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1M(e,t,n){let o;const r=["color","header","text","onChange"];let i=compute_rest_props(t,r),{color:a}=t,{header:s}=t,{text:c}=t,{onChange:l}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,r)),"color"in e&&n(5,a=e.color),"header"in e&&n(0,s=e.header),"text"in e&&n(1,c=e.text),"onChange"in e&&n(2,l=e.onChange)},e.$$.update=()=>{32&e.$$.dirty&&n(3,o=a)},[s,c,l,o,i,a,e=>{n(3,o=e.detail),l(o)}]}class ChooseColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1M,create_fragment$1O,safe_not_equal,{color:5,header:0,text:1,onChange:2})}}function get_each_context$j(e,t,n){const o=e.slice();return o[69]=t[n],o[70]=t,o[71]=n,o}function get_each_context_1$2(e,t,n){const o=e.slice();return o[72]=t[n],o[73]=t,o[74]=n,o}function create_if_block_1$p(e){let t;return{c(){t=element("div"),t.textContent="Drag & drop tables or views from left panel here",attr(t,"class","empty svelte-1mnidtl")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_each_block_1$2(e,t){let n,o,r,i,a=t[72];const s=()=>t[55](o,a),c=()=>t[55](null,a);var l=t[4];function u(e){return{props:{domTables:e[6],reference:e[72],onChangeReference:e[26],onRemoveReference:e[27],designer:e[0],settings:e[3]}}}return l&&(o=new l(u(t)),s()),{key:e,first:null,c(){n=empty(),o&&create_component(o.$$.fragment),r=empty(),this.first=n},m(e,t){insert(e,n,t),o&&mount_component(o,e,t),insert(e,r,t),i=!0},p(e,n){a!==(t=e)[72]&&(c(),a=t[72],s());const i={};if(64&n[0]&&(i.domTables=t[6]),131072&n[0]&&(i.reference=t[72]),1&n[0]&&(i.designer=t[0]),8&n[0]&&(i.settings=t[3]),l!==(l=t[4])){if(o){group_outros();const e=o;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}l?(o=new l(u(t)),s(),create_component(o.$$.fragment),transition_in(o.$$.fragment,1),mount_component(o,r.parentNode,r)):o=null}else l&&o.$set(i)},i(e){i||(o&&transition_in(o.$$.fragment,e),i=!0)},o(e){o&&transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(n),c(),e&&detach(r),o&&destroy_component(o,e)}}}function create_each_block$j(e,t){let n,o,r,i=t[69];const a=()=>t[56](o,i),s=()=>t[56](null,i);let c={onCreateReference:t[28],onSelectColumn:t[32],onChangeColumn:t[33],onAddReferenceByColumn:t[29],onAddAllReferences:t[30],onChangeTableColor:t[31],onMoveReferences:t[41],table:t[69],conid:t[1],database:t[2],zoomKoef:t[14],isMultipleTableSelection:t[15],onChangeTable:t[22],onBringToFront:t[23],onSelectTable:t[24],onRemoveTable:t[25],onMoveStart:t[35],onMove:t[36],onMoveEnd:t[37],domCanvas:t[8],designer:t[0],sourceDragColumn$:t[18],targetDragColumn$:t[19],settings:t[3]};return o=new DesignerTable({props:c}),a(),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){i!==(t=e)[69]&&(s(),i=t[69],a());const r={};128&n[0]&&(r.table=t[69]),2&n[0]&&(r.conid=t[1]),4&n[0]&&(r.database=t[2]),16384&n[0]&&(r.zoomKoef=t[14]),32768&n[0]&&(r.isMultipleTableSelection=t[15]),256&n[0]&&(r.domCanvas=t[8]),1&n[0]&&(r.designer=t[0]),8&n[0]&&(r.settings=t[3]),o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),s(),destroy_component(o,e)}}}function create_if_block$N(e){let t,n,o;return{c(){t=svg_element("svg"),n=svg_element("polyline"),attr(n,"points",o=`\n ${e[11].x},${e[11].y}\n ${e[11].x},${e[12].y}\n ${e[12].x},${e[12].y}\n ${e[12].x},${e[11].y}\n ${e[11].x},${e[11].y}\n `),attr(n,"class","svelte-1mnidtl"),attr(t,"class","drag-rect svelte-1mnidtl")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){6144&t[0]&&o!==(o=`\n ${e[11].x},${e[11].y}\n ${e[11].x},${e[12].y}\n ${e[12].x},${e[12].y}\n ${e[12].x},${e[11].y}\n ${e[11].x},${e[11].y}\n `)&&attr(n,"points",o)},d(e){e&&detach(t)}}}function create_fragment$1N(e){let t,n,o,r,i,a,s,c,l,u,d=[],p=new Map,m=[],h=new Map,f=!(e[7]?.length>0)&&create_if_block_1$p(),g=e[17]||[];const _=e=>e[72].designerId;for(let t=0;t<g.length;t+=1){let n=get_each_context_1$2(e,g,t),o=_(n);p.set(o,d[t]=create_each_block_1$2(o,n))}let $=e[7]||[];const b=e=>e[69].designerId;for(let t=0;t<$.length;t+=1){let n=get_each_context$j(e,$,t),o=b(n);h.set(o,m[t]=create_each_block$j(o,n))}let v=e[11]&&e[12]&&create_if_block$N(e);return{c(){t=element("div"),f&&f.c(),n=space(),o=element("div");for(let e=0;e<d.length;e+=1)d[e].c();r=space();for(let e=0;e<m.length;e+=1)m[e].c();i=space(),v&&v.c(),attr(o,"class","canvas svelte-1mnidtl"),attr(o,"style",a=`width:${e[9]}px;height:${e[10]}px;\n ${e[3]?.customizeStyle&&e[0]?.style?.zoomKoef?`zoom:${e[0]?.style?.zoomKoef};`:""}\n `),attr(t,"class","wrapper noselect svelte-1mnidtl")},m(a,p){insert(a,t,p),f&&f.m(t,null),append(t,n),append(t,o);for(let e=0;e<d.length;e+=1)d[e].m(o,null);append(o,r);for(let e=0;e<m.length;e+=1)m[e].m(o,null);append(o,i),v&&v.m(o,null),e[57](o),c=!0,l||(u=[listen(o,"dragover",dragover_handler),listen(o,"drop",e[34]),listen(o,"mousedown",e[58]),action_destroyer(s=moveDrag.call(null,o,e[3]?.canSelectTables?[e[38],e[39],e[40]]:null)),action_destroyer(contextMenu.call(null,t,e[42]))],l=!0)},p(e,l){e[7]?.length>0?f&&(f.d(1),f=null):f||(f=create_if_block_1$p(),f.c(),f.m(t,n)),201465945&l[0]&&(g=e[17]||[],group_outros(),d=update_keyed_each(d,l,_,1,e,g,p,o,outro_and_destroy_block,create_each_block_1$2,r,get_each_context_1$2),check_outros()),1942798767&l[0]|1143&l[1]&&($=e[7]||[],group_outros(),m=update_keyed_each(m,l,b,1,e,$,h,o,outro_and_destroy_block,create_each_block$j,i,get_each_context$j),check_outros()),e[11]&&e[12]?v?v.p(e,l):(v=create_if_block$N(e),v.c(),v.m(o,null)):v&&(v.d(1),v=null),(!c||1545&l[0]&&a!==(a=`width:${e[9]}px;height:${e[10]}px;\n ${e[3]?.customizeStyle&&e[0]?.style?.zoomKoef?`zoom:${e[0]?.style?.zoomKoef};`:""}\n `))&&attr(o,"style",a),s&&is_function(s.update)&&8&l[0]&&s.update.call(null,e[3]?.canSelectTables?[e[38],e[39],e[40]]:null)},i(e){if(!c){for(let e=0;e<g.length;e+=1)transition_in(d[e]);for(let e=0;e<$.length;e+=1)transition_in(m[e]);c=!0}},o(e){for(let e=0;e<d.length;e+=1)transition_out(d[e]);for(let e=0;e<m.length;e+=1)transition_out(m[e]);c=!1},d(n){n&&detach(t),f&&f.d();for(let e=0;e<d.length;e+=1)d[e].d();for(let e=0;e<m.length;e+=1)m[e].d();v&&v.d(),e[57](null),l=!1,run_all(u)}}}const getCurrentEditor$7=()=>getActiveComponent("Designer");registerCommand({id:"designer.arrange",category:"Designer",icon:"icon arrange",name:"Arrange",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$7())||void 0===e?void 0:e.canArrange()},onClick:()=>getCurrentEditor$7().arrange()}),registerCommand({id:"diagram.export",category:"Designer",toolbarName:"Export diagram",name:"Export diagram",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$7().exportDiagram(),testEnabled:()=>{var e;return null===(e=getCurrentEditor$7())||void 0===e?void 0:e.canExport()}});const dragover_handler=e=>e.preventDefault();function instance$1L(e,t,n){let o,r,i,a,s,c,l,u,d,p,m=noop$3;component_subscribe(e,currentThemeDefinition,(e=>n(59,u=e))),e.$$.on_destroy.push((()=>m()));var h,f,g=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{value:$}=t,{onChange:b}=t,{conid:v}=t,{database:y}=t,{menu:x}=t,{settings:w}=t,{referenceComponent:C}=t;const k=createActivator("Designer",!0);let S,T=3e3,E=3e3,A=null,D=null;const N=writable(null),I=writable(null),R=(null==w?void 0:w.updateFromDbInfo)?useDatabaseInfo({conid:v,database:y}):null;component_subscribe(e,R,(e=>n(54,p=e)));const O={},F={};function M(e){const t=_.min(e.map((e=>e.left))),n=_.min(e.map((e=>e.top)));if(t<0||n<0){const o=t<0?-t:0,r=n<0?-n:0;return e.map((e=>Object.assign(Object.assign({},e),{left:e.left+o,top:e.top+r})))}return e}function L(e="auto"){"auto"==e&&R&&(e=o),(null==w?void 0:w.updateFromDbInfo)&&e&&b((t=>{let n=t.tables||[];for(const o of t.tables||[]){const t=(e.tables||[]).find((e=>e.pureName==o.pureName&&e.schemaName==o.schemaName));jsonStableStringify(_.pick(t,["columns","primaryKey","foreignKeys"]))!=jsonStableStringify(_.pick(o,["columns","primaryKey","foreignKeys"]))&&(n=n.map((e=>e==o?Object.assign(Object.assign({},o),_.pick(t,["columns","primaryKey","foreignKeys"])):e)))}let o=null==t?void 0:t.references;if(null==w?void 0:w.useDatabaseReferences){o=[];for(const e of n)for(const t of e.foreignKeys){const r=n.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));r&&o.push({designerId:v1_1$4(),sourceId:e.designerId,targetId:r.designerId,joinType:"",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))})}}return Object.assign(Object.assign({},t),{tables:n,references:o})}),!0)}function P(e,t){b(e,t),tick().then(U)}const j=(e,t,n)=>{var o;const r=null===(o=e.tables)||void 0===o?void 0:o.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));if(!r)return;const i=[];for(const t of r.foreignKeys||[]){if(![...n.tables,...i].find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName))){const n=e.tables.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));n&&i.push(n)}}for(const t of r.dependencies||[]){if(![...n.tables,...i].find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName))){const n=e.tables.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));n&&i.push(n)}}return Object.assign(Object.assign({},n),{tables:[...n.tables,...i.map((e=>Object.assign(Object.assign({},e),{designerId:`${e.pureName}-${v1_1$4()}`,needsArrange:!0})))]})},B=(e,t)=>{const n=(t||[]).map((e=>e.alias||e.pureName));if(!n.includes(e.pureName))return null;let o=2;for(;n.includes(`${e.pureName}${o}`);)o+=1;return`${e.pureName}${o}`};function q(e){for(const t of _.values(O)){const n=t;(null==n?void 0:n.isSelected())&&e(n)}}function U(){for(const e of Object.values(F))e&&e.recomputePosition()}function W(e=!1,t=!0,n={x:0,y:0}){const o=new GraphDefinition;for(const e of(null==$?void 0:$.tables)||[]){const n=l[e.designerId];if(!n)continue;const r=n.getRect();o.addNode(e.designerId,r.right-r.left,r.bottom-r.top,t||e.needsArrange?null:{x:(r.left+r.right)/2,y:(r.top+r.bottom)/2})}for(const e of null==$?void 0:$.references)o.addEdge(e.sourceId,e.targetId);o.initialize();const r=GraphLayout.createCircle(o,n).springyAlg().solveOverlaps().fixViewBox();P((e=>Object.assign(Object.assign({},e),{tables:((null==e?void 0:e.tables)||[]).map((e=>{const t=r.nodes[e.designerId];return t?Object.assign(Object.assign({},e),{needsArrange:!1,left:t.left,top:t.top}):Object.assign(Object.assign({},e),{needsArrange:!1})}))})),e)}const z=(e,t)=>()=>{P((n=>Object.assign(Object.assign({},n),{style:Object.assign(Object.assign({},null==n?void 0:n.style),{[e]:t})})))};return e.$$set=e=>{"value"in e&&n(0,$=e.value),"onChange"in e&&n(43,b=e.onChange),"conid"in e&&n(1,v=e.conid),"database"in e&&n(2,y=e.database),"menu"in e&&n(44,x=e.menu),"settings"in e&&n(3,w=e.settings),"referenceComponent"in e&&n(4,C=e.referenceComponent)},e.$$.update=()=>{var t;12582912&e.$$.dirty[1]&&n(52,o=p?lib$4.extendDatabaseInfoFromApps(p,d):null),1&e.$$.dirty[0]&&n(7,r=null==$?void 0:$.tables),1&e.$$.dirty[0]&&n(17,i=null==$?void 0:$.references),9&e.$$.dirty[0]|1572864&e.$$.dirty[1]&&n(14,a=(null==w?void 0:w.customizeStyle)&&(null===n(50,h=null==$?void 0:$.style)||void 0===h?void 0:h.zoomKoef)?null===n(51,f=null==$?void 0:$.style)||void 0===f?void 0:f.zoomKoef:1),128&e.$$.dirty[0]&&n(15,c=r.filter((e=>e.isSelectedTable)).length>=2),32&e.$$.dirty[0]&&n(6,l=_.pickBy(_.mapValues(O,(e=>null==e?void 0:e.getDomTable())))),2097152&e.$$.dirty[1]&&o&&L(o),192&e.$$.dirty[0]&&function(e,t){g(this,void 0,void 0,(function*(){yield tick();const e=_.values(t).map((e=>e.getRect())),o=_.max(e.map((e=>e.right))),r=_.max(e.map((e=>e.bottom)));n(9,T=Math.max(3e3,o+50)),n(10,E=Math.max(3e3,r+50))}))}(0,l),1&e.$$.dirty[0]|2097152&e.$$.dirty[1]&&o&&(null==$?void 0:$.autoLayout)&&(t=o,g(void 0,void 0,void 0,(function*(){t&&(P((e=>{for(const n of(null==e?void 0:e.tables)||[])n.autoAddReferences&&(e=j(t,n,e));return Object.assign(Object.assign({},e),{autoLayout:!1,tables:((null==e?void 0:e.tables)||[]).map((e=>Object.assign(Object.assign({},e),{autoAddReferences:!1})))})})),L(),yield tick(),W())})))},n(16,s=useUsedApps()),m(),m=subscribe(s,(e=>n(53,d=e))),[$,v,y,w,C,O,l,r,S,T,E,A,D,F,a,c,s,i,N,I,R,P,e=>{P((t=>Object.assign(Object.assign({},t),{tables:M((t.tables||[]).map((t=>t.designerId==e.designerId?e:t)))})))},e=>{P((t=>Object.assign(Object.assign({},t),{tables:[...(t.tables||[]).filter((t=>t.designerId!=e.designerId)),e]})),!0)},(e,t)=>{P((n=>Object.assign(Object.assign({},n),{tables:(n.tables||[]).map((n=>n.designerId==e.designerId?Object.assign(Object.assign({},n),{isSelectedTable:!0}):Object.assign(Object.assign({},n),{isSelectedTable:!!t&&n.isSelectedTable})))})),!0)},e=>{c&&(null==w?void 0:w.useDatabaseReferences)&&(null==w?void 0:w.canSelectTables)?(P((e=>Object.assign(Object.assign({},e),{tables:(e.tables||[]).filter((e=>!e.isSelectedTable))}))),L()):P((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).filter((t=>t.designerId!=e.designerId)),references:(t.references||[]).filter((t=>t.sourceId!=e.designerId&&t.targetId!=e.designerId)),columns:(t.columns||[]).filter((t=>t.designerId!=e.designerId))})))},e=>{P((t=>Object.assign(Object.assign({},t),{references:(t.references||[]).map((t=>t.designerId==e.designerId?e:t))})))},e=>{P((t=>Object.assign(Object.assign({},t),{references:(t.references||[]).filter((t=>t.designerId!=e.designerId))})))},(e,t)=>{P((n=>{const o=(n.references||[]).find((n=>n.sourceId==e.designerId&&n.targetId==t.designerId||n.sourceId==t.designerId&&n.targetId==e.designerId));return Object.assign(Object.assign({},n),{references:o?n.references.map((n=>n==o?Object.assign(Object.assign({},o),{columns:[...o.columns,o.sourceId==e.designerId?{source:e.columnName,target:t.columnName}:{source:t.columnName,target:e.columnName}]}):n)):[...n.references||[],{designerId:v1_1$4(),sourceId:e.designerId,targetId:t.designerId,joinType:isConnectedByReference(n,e,t,null)?"CROSS JOIN":"INNER JOIN",columns:[{source:e.columnName,target:t.columnName}]}]})}))},(e,t)=>g(void 0,void 0,void 0,(function*(){const n=yield getTableInfo({conid:v,database:y,pureName:t.refTableName,schemaName:t.refSchemaName}),o=`${n.pureName}-${v1_1$4()}`;P((r=>{const i=(r.tables||[]).find((t=>t.designerId==e));if(!i)return r;const a=B(n,r.tables);return a&&!(null==w?void 0:w.allowTableAlias)?r:Object.assign(Object.assign({},r),{tables:[...r.tables||[],Object.assign(Object.assign({},n),{left:i.left+300,top:i.top+50,designerId:o,alias:a})],references:(null==w?void 0:w.allowCreateRefByDrag)?[...r.references||[],{designerId:v1_1$4(),sourceId:i.designerId,targetId:o,joinType:"INNER JOIN",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:r.references})})),L()})),e=>g(void 0,void 0,void 0,(function*(){var t;if(!o)return;const n=o;if(!n)return;P((t=>j(n,e,t))),L(),yield tick();const r=null===(t=l[e.designerId])||void 0===t?void 0:t.getRect();W(!0,!1,r?{x:(r.left+r.right)/2,y:(r.top+r.bottom)/2}:null)})),e=>{showModal(ChooseColorModal,{onChange:e=>{P((t=>Object.assign(Object.assign({},t),{tables:((null==t?void 0:t.tables)||[]).map((t=>t.isSelectedTable?Object.assign(Object.assign({},t),{tableColor:e}):t))})))}})},e=>{P((t=>Object.assign(Object.assign({},t),{columns:(t.columns||[]).find((t=>t.designerId==e.designerId&&t.columnName==e.columnName))?t.columns:[...cleanupDesignColumns(t.columns),_.pick(e,["designerId","columnName"])]})),!0)},(e,t)=>{P((n=>{const o=(n||{}).columns||[],r=o.find((t=>t.designerId==e.designerId&&t.columnName==e.columnName));return r?Object.assign(Object.assign({},n),{columns:o.map((e=>e==r?t(r):e))}):Object.assign(Object.assign({},n),{columns:[...cleanupDesignColumns(o),t(_.pick(e,["designerId","columnName"]))]})}))},e=>{var t=e.dataTransfer.getData("app_object_drag_data");if(e.preventDefault(),!t)return;const n=e.target.getBoundingClientRect();var o=JSON.parse(t);const{objectTypeField:r}=o;"tables"!=r&&"views"!=r||(o.designerId=`${o.pureName}-${v1_1$4()}`,o.left=e.clientX-n.left,o.top=e.clientY-n.top,P((e=>{const t=(null==w?void 0:w.useDatabaseReferences)?[]:_.compact([...(o.foreignKeys||[]).map((t=>{const n=((e||{}).tables||[]).filter((e=>t.refTableName==e.pureName&&t.refSchemaName==e.schemaName));return 1==n.length?Object.assign(Object.assign({},t),{sourceId:o.designerId,targetId:n[0].designerId}):null})),..._.flatten(((e||{}).tables||[]).map((e=>(e.foreignKeys||[]).map((t=>t.refTableName==o.pureName&&t.refSchemaName==o.schemaName?Object.assign(Object.assign({},t),{sourceId:e.designerId,targetId:o.designerId}):null)))))]),n=B(o,null==e?void 0:e.tables);return n&&!(null==w?void 0:w.allowTableAlias)?e:Object.assign(Object.assign({},e),{tables:[...(e||{}).tables||[],Object.assign(Object.assign({},o),{alias:n})],references:1==t.length?[...(e||{}).references||[],{designerId:`${null==e?void 0:e.pureName}-${v1_1$4()}`,sourceId:t[0].sourceId,targetId:t[0].targetId,joinType:"INNER JOIN",columns:t[0].columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:(e||{}).references})})),L())},()=>{q((e=>e.moveStart()))},(e,t)=>{q((n=>n.move(e,t))),tick().then(U)},()=>{const e={};q((t=>{e[t.getDesignerId()]=t.moveEnd()})),P((t=>Object.assign(Object.assign({},t),{tables:((null==t?void 0:t.tables)||[]).map((t=>{const n=e[t.designerId];return n?Object.assign(Object.assign({},t),{left:n.left,top:n.top}):t}))}))),tick().then(U)},(e,t)=>{n(11,A={x:e/a,y:t/a})},(e,t,o,r)=>{n(12,D={x:o/a,y:r/a})},(e,t)=>{if(A&&D){const e={left:Math.min(A.x,D.x),right:Math.max(A.x,D.x),top:Math.min(A.y,D.y),bottom:Math.max(A.y,D.y)};P((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).map((t=>{const n=l[t.designerId].getRect();return Object.assign(Object.assign({},t),{isSelectedTable:rectanglesHaveIntersection(n,e)})}))})),!0)}n(11,A=null),n(12,D=null)},U,function(){var e,t,n,o,r,i;return[x,(null==w?void 0:w.customizeStyle)&&[{divider:!0},{text:"Column properties",submenu:[{text:"Nullability: "+((null===(e=null==$?void 0:$.style)||void 0===e?void 0:e.showNullability)?"YES":"NO"),onClick:z("showNullability",!(null===(t=null==$?void 0:$.style)||void 0===t?void 0:t.showNullability))},{text:"Data type: "+((null===(n=null==$?void 0:$.style)||void 0===n?void 0:n.showDataType)?"YES":"NO"),onClick:z("showDataType",!(null===(o=null==$?void 0:$.style)||void 0===o?void 0:o.showDataType))}]},{text:`Columns - ${_.startCase((null===(r=null==$?void 0:$.style)||void 0===r?void 0:r.filterColumns)||"all")}`,submenu:[{text:"All",onClick:z("filterColumns",null)},{text:"Primary Key",onClick:z("filterColumns","primaryKey")},{text:"All Keys",onClick:z("filterColumns","allKeys")},{text:"Not Null",onClick:z("filterColumns","notNull")},{text:"Keys And Not Null",onClick:z("filterColumns","keysAndNotNull")}]},{text:`Zoom - ${100*((null===(i=null==$?void 0:$.style)||void 0===i?void 0:i.zoomKoef)||1)}%`,submenu:[{text:"10 %",onClick:z("zoomKoef",.1)},{text:"15 %",onClick:z("zoomKoef",.15)},{text:"20 %",onClick:z("zoomKoef",.2)},{text:"40 %",onClick:z("zoomKoef",.4)},{text:"60 %",onClick:z("zoomKoef",.6)},{text:"80 %",onClick:z("zoomKoef",.8)},{text:"100 %",onClick:z("zoomKoef",1)}]}]]},b,x,k,function(){return null==w?void 0:w.canArrange},function(){return null==w?void 0:w.canExport},W,function(){return g(this,void 0,void 0,(function*(){const e=["global.css","build/bundle.css"];let t="";for(const n of e){const e=yield fetch(n),o=yield e.text();t&&(t+="\n"),t+=o}(null==u?void 0:u.themeCss)&&(t&&(t+="\n"),t+=null==u?void 0:u.themeCss),saveFileToDisk((e=>g(this,void 0,void 0,(function*(){yield apiCall("files/export-diagram",{filePath:e,html:S.outerHTML,css:t,themeType:null==u?void 0:u.themeType,themeClassName:null==u?void 0:u.themeClassName})}))))}))},h,f,o,d,p,function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{F[t.designerId]=e,n(13,F)}))},function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{O[t.designerId]=e,n(5,O)}))},function(e){binding_callbacks[e?"unshift":"push"]((()=>{S=e,n(8,S)}))},e=>{0==e.button&&w?.canSelectTables&&P((e=>({...e,tables:(e.tables||[]).map((e=>({...e,isSelectedTable:!1})))})),!0)}]}class Designer extends SvelteComponent{constructor(e){super(),init(this,e,instance$1L,create_fragment$1N,safe_not_equal,{value:0,onChange:43,conid:1,database:2,menu:44,settings:3,referenceComponent:4,activator:45,canArrange:46,canExport:47,arrange:48,exportDiagram:49},null,[-1,-1,-1])}get activator(){return this.$$.ctx[45]}get canArrange(){return this.$$.ctx[46]}get canExport(){return this.$$.ctx[47]}get arrange(){return this.$$.ctx[48]}get exportDiagram(){return this.$$.ctx[49]}}function get_each_context$i(e,t,n){const o=e.slice();return o[12]=t[n],o}function create_if_block$M(e){let t,n,o,r,i,a,s,c,l,u,d,p=_.snakeCase(e[0]?.joinType||"CROSS JOIN").replace("_"," ").replace("_"," ")+"",m=e[4],h=[];for(let t=0;t<m.length;t+=1)h[t]=create_each_block$i(get_each_context$i(e,m,t));return{c(){t=svg_element("svg"),n=svg_element("polyline");for(let e=0;e<h.length;e+=1)h[e].c();r=space(),i=element("div"),a=element("div"),s=text$1(p),attr(n,"points",o=`\n ${e[1].x},${e[1].y}\n ${e[1].x+extwi*e[3].dirsrc},${e[1].y}\n ${e[2].x+extwi*e[3].dirdst},${e[2].y}\n ${e[2].x},${e[2].y}\n `),attr(n,"class","svelte-1k22hy3"),attr(t,"class","svelte-1k22hy3"),attr(a,"class","text svelte-1k22hy3"),attr(i,"class","wrapper svelte-1k22hy3"),attr(i,"style",c=`left: ${(e[1].x+extwi*e[3].dirsrc+e[2].x+extwi*e[3].dirdst)/2-16}px;\n top: ${(e[1].y+e[2].y)/2-16}px`)},m(o,c){insert(o,t,c),append(t,n);for(let e=0;e<h.length;e+=1)h[e].m(t,null);insert(o,r,c),insert(o,i,c),append(i,a),append(a,s),u||(d=action_destroyer(l=contextMenu.call(null,i,e[5])),u=!0)},p(e,r){if(14&r&&o!==(o=`\n ${e[1].x},${e[1].y}\n ${e[1].x+extwi*e[3].dirsrc},${e[1].y}\n ${e[2].x+extwi*e[3].dirdst},${e[2].y}\n ${e[2].x},${e[2].y}\n `)&&attr(n,"points",o),30&r){let n;for(m=e[4],n=0;n<m.length;n+=1){const o=get_each_context$i(e,m,n);h[n]?h[n].p(o,r):(h[n]=create_each_block$i(o),h[n].c(),h[n].m(t,null))}for(;n<h.length;n+=1)h[n].d(1);h.length=m.length}1&r&&p!==(p=_.snakeCase(e[0]?.joinType||"CROSS JOIN").replace("_"," ").replace("_"," ")+"")&&set_data(s,p),14&r&&c!==(c=`left: ${(e[1].x+extwi*e[3].dirsrc+e[2].x+extwi*e[3].dirdst)/2-16}px;\n top: ${(e[1].y+e[2].y)/2-16}px`)&&attr(i,"style",c)},d(e){e&&detach(t),destroy_each(h,e),e&&detach(r),e&&detach(i),u=!1,d()}}}function create_each_block$i(e){let t,n,o,r;return{c(){t=svg_element("polyline"),o=svg_element("polyline"),attr(t,"points",n=`\n ${e[1].x},${e[1].y}\n ${e[1].x},${e[12][0]}\n ${e[1].x-buswi*e[3].dirsrc},${e[12][0]}\n`),attr(t,"class","svelte-1k22hy3"),attr(o,"points",r=`\n ${e[2].x},${e[2].y}\n ${e[2].x},${e[12][1]}\n ${e[2].x-buswi*e[3].dirdst},${e[12][1]}\n`),attr(o,"class","svelte-1k22hy3")},m(e,n){insert(e,t,n),insert(e,o,n)},p(e,i){26&i&&n!==(n=`\n ${e[1].x},${e[1].y}\n ${e[1].x},${e[12][0]}\n ${e[1].x-buswi*e[3].dirsrc},${e[12][0]}\n`)&&attr(t,"points",n),28&i&&r!==(r=`\n ${e[2].x},${e[2].y}\n ${e[2].x},${e[12][1]}\n ${e[2].x-buswi*e[3].dirdst},${e[12][1]}\n`)&&attr(o,"points",r)},d(e){e&&detach(t),e&&detach(o)}}}function create_fragment$1M(e){let t,n=e[1]&&e[2]&&e[3]&&create_if_block$M(e);return{c(){n&&n.c(),t=empty()},m(e,o){n&&n.m(e,o),insert(e,t,o)},p(e,[o]){e[1]&&e[2]&&e[3]?n?n.p(e,o):(n=create_if_block$M(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:noop$3,o:noop$3,d(e){n&&n.d(e),e&&detach(t)}}}const buswi=10,extwi=25;function instance$1K(e,t,n){let o,{reference:r}=t,{onRemoveReference:i}=t,{onChangeReference:a}=t,{designer:s}=t,{domTables:c}=t,{settings:l}=t,u=null,d=null,p=[];function m(){const{designerId:e,sourceId:t,targetId:i,columns:a,joinType:s}=r,l=c[t],m=c[i];if(!l||!m)return null;const h=l.getRect(),f=m.getRect();if(!h||!f)return null;const g=[];g.push({xsrc:h.left-buswi,dirsrc:-1,xdst:f.left-buswi,dirdst:-1}),g.push({xsrc:h.left-buswi,dirsrc:-1,xdst:f.right+buswi,dirdst:1}),g.push({xsrc:h.right+buswi,dirsrc:1,xdst:f.left-buswi,dirdst:-1}),g.push({xsrc:h.right+buswi,dirsrc:1,xdst:f.right+buswi,dirdst:1}),n(3,o=_.minBy(g,(e=>Math.abs(e.xsrc-e.xdst))));let $=_.mean(a.map((e=>l.getColumnY(e.source)))),b=_.mean(a.map((e=>m.getColumnY(e.target))));0==a.length&&($=l.getColumnY(""),b=m.getColumnY("")),n(1,u={x:o.xsrc,y:$}),n(2,d={x:o.xdst,y:b}),n(4,p=a.map(((e,t)=>[l.getColumnY(e.source),m.getColumnY(e.target)])))}return e.$$set=e=>{"reference"in e&&n(0,r=e.reference),"onRemoveReference"in e&&n(6,i=e.onRemoveReference),"onChangeReference"in e&&n(7,a=e.onChangeReference),"designer"in e&&n(8,s=e.designer),"domTables"in e&&n(9,c=e.domTables),"settings"in e&&n(10,l=e.settings)},e.$$.update=()=>{512&e.$$.dirty&&m()},[r,u,d,o,p,function(){const e=isConnectedByReference(s,{designerId:null==r?void 0:r.sourceId},{designerId:null==r?void 0:r.targetId},r),t=e=>{a(Object.assign(Object.assign({},r),{joinType:e}))};return[{text:"Remove",onClick:()=>i(r)},!e&&[{divider:!0},{onClick:()=>t("INNER JOIN"),text:"Set INNER JOIN"},{onClick:()=>t("LEFT JOIN"),text:"Set LEFT JOIN"},{onClick:()=>t("RIGHT JOIN"),text:"Set RIGHT JOIN"},{onClick:()=>t("FULL OUTER JOIN"),text:"Set FULL OUTER JOIN"},{onClick:()=>t("CROSS JOIN"),text:"Set CROSS JOIN"},{onClick:()=>t("WHERE EXISTS"),text:"Set WHERE EXISTS"},{onClick:()=>t("WHERE NOT EXISTS"),text:"Set WHERE NOT EXISTS"}]]},i,a,s,c,l,m]}class QueryDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1K,create_fragment$1M,safe_not_equal,{reference:0,onRemoveReference:6,onChangeReference:7,designer:8,domTables:9,settings:10,recomputePosition:11})}get recomputePosition(){return this.$$.ctx[11]}}function create_fragment$1L(e){let t,n;const o=[e[0],{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowTableAlias:!0,updateFromDbInfo:!1,useDatabaseReferences:!1,allowScrollColumns:!0,allowAddAllReferences:!1,canArrange:!1,canExport:!1,canSelectColumns:!0,canSelectTables:!1,allowChangeColor:!1,appendTableSystemMenu:!1,customizeStyle:!1,allowDefineVirtualReferences:!1}},{referenceComponent:QueryDesignerReference}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),o[1],0&n&&{referenceComponent:QueryDesignerReference}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1J(e,t,n){return e.$$set=e=>{n(0,t=assign(assign({},t),exclude_internal_props(e)))},[t=exclude_internal_props(t)]}class QueryDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1J,create_fragment$1L,safe_not_equal,{})}}function create__0_slot$2(e){let t,n;return t=new CheckboxField({props:{checked:e[16].isOutput}}),t.$on("change",(function(...t){return e[14](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.checked=e[16].isOutput),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$6(e){let t,n;return t=new TextField({props:{value:e[16].alias}}),t.$on("input",(function(...t){return e[13](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.value=e[16].alias),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$6(e){let t,n;return t=new CheckboxField({props:{checked:e[16].isGrouped}}),t.$on("change",(function(...t){return e[12](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.checked=e[16].isGrouped),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$L(e){let t,n;return t=new SelectField({props:{isNative:!0,value:e[16].aggregate,options:["---","MIN","MAX","COUNT","COUNT DISTINCT","SUM","AVG"].map(func_2$5)}}),t.$on("change",(function(...t){return e[11](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.value=e[16].aggregate),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot$1(e){let t,n,o=!e[16].isGrouped&&create_if_block$L(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[16].isGrouped?o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros()):o?(o.p(e,n),65536&n&&transition_in(o,1)):(o=create_if_block$L(e),o.c(),transition_in(o,1),o.m(t.parentNode,t))},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create__4_slot(e){let t,n;return t=new SelectField({props:{isNative:!0,value:e[16].sortOrder,options:[{label:"---",value:"0"},{label:"1st, ascending",value:"1"},{label:"1st, descending",value:"-1"},{label:"2nd, ascending",value:"2"},{label:"2nd, descending",value:"-2"},{label:"3rd, ascending",value:"3"},{label:"3rd, descending",value:"-3"}]}}),t.$on("change",(function(...t){return e[10](e[16],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o&&(r.value=e[16].sortOrder),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__5_slot(e){let t,n;return t=new DataFilterControl({props:{filterType:findDesignerFilterType(e[16],e[0]),filter:e[16].filter,setFilter:function(...t){return e[9](e[16],...t)}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65537&o&&(r.filterType=findDesignerFilterType(e[16],e[0])),65536&o&&(r.filter=e[16].filter),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__6_slot(e){let t,n;return t=new DataFilterControl({props:{filterType:findDesignerFilterType(e[16],e[0]),filter:e[16].groupFilter,setFilter:function(...t){return e[8](e[16],...t)}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65537&o&&(r.filterType=findDesignerFilterType(e[16],e[0])),65536&o&&(r.filter=e[16].groupFilter),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$I(e){let t;return{c(){t=text$1("Remove")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create__7_slot(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot$I]},$$scope:{ctx:e}}}),t.$on("click",(function(){return e[7](e[16])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};131072&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1K(e){let t,n,o;return n=new TableControl({props:{rows:e[1]||[],columns:[{fieldName:"columnName",header:"Column/Expression"},{fieldName:"tableDisplayName",header:"Table",formatter:e[15]},{fieldName:"isOutput",header:"Output",slot:0},{fieldName:"alias",header:"Alias",slot:1},{fieldName:"isGrouped",header:"Group by",slot:2},{fieldName:"aggregate",header:"Aggregate",slot:3},{fieldName:"sortOrder",header:"Sort order",slot:4},{fieldName:"filter",header:"Filter",slot:5},e[2]&&{fieldName:"groupFilter",header:"Group filter",slot:6},{fieldName:"actions",header:"",slot:7}],$$slots:{7:[create__7_slot,({row:e})=>({16:e}),({row:e})=>e?65536:0],6:[create__6_slot,({row:e})=>({16:e}),({row:e})=>e?65536:0],5:[create__5_slot,({row:e})=>({16:e}),({row:e})=>e?65536:0],4:[create__4_slot,({row:e})=>({16:e}),({row:e})=>e?65536:0],3:[create__3_slot$1,({row:e})=>({16:e}),({row:e})=>e?65536:0],2:[create__2_slot$6,({row:e})=>({16:e}),({row:e})=>e?65536:0],1:[create__1_slot$6,({row:e})=>({16:e}),({row:e})=>e?65536:0],0:[create__0_slot$2,({row:e})=>({16:e}),({row:e})=>e?65536:0]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-ch62af")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,[t]){const o={};2&t&&(o.rows=e[1]||[]),12&t&&(o.columns=[{fieldName:"columnName",header:"Column/Expression"},{fieldName:"tableDisplayName",header:"Table",formatter:e[15]},{fieldName:"isOutput",header:"Output",slot:0},{fieldName:"alias",header:"Alias",slot:1},{fieldName:"isGrouped",header:"Group by",slot:2},{fieldName:"aggregate",header:"Aggregate",slot:3},{fieldName:"sortOrder",header:"Sort order",slot:4},{fieldName:"filter",header:"Filter",slot:5},e[2]&&{fieldName:"groupFilter",header:"Group filter",slot:6},{fieldName:"actions",header:"",slot:7}]),196609&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function getTableDisplayName(e,t){const n=(t||[]).find((t=>t.designerId==e.designerId));return n?n.alias||n.pureName:""}const func_2$5=e=>({label:e,value:e});function instance$1I(e,t,n){let o,r,i,{value:a}=t,{onChange:s}=t;const c=e=>{s((t=>({...t,columns:(t.columns||[]).map((t=>t.designerId==e.designerId&&t.columnName==e.columnName?e:t))})))},l=e=>{s((t=>({...t,columns:(t.columns||[]).filter((t=>t.designerId!=e.designerId||t.columnName!=e.columnName))})))};return e.$$set=e=>{"value"in e&&n(0,a=e.value),"onChange"in e&&n(6,s=e.onChange)},e.$$.update=()=>{1&e.$$.dirty&&n(1,o=a?.columns),1&e.$$.dirty&&n(3,r=a?.tables),2&e.$$.dirty&&n(2,i=!!(o||[]).find((e=>e.isGrouped)))},[a,o,i,r,c,l,s,e=>l(e),(e,t)=>{c({...e,groupFilter:t})},(e,t)=>{c({...e,filter:t})},(e,t)=>{c({...e,sortOrder:parseInt(t.detail)})},(e,t)=>{c({...e,aggregate:t.detail})},(e,t)=>{t.target.checked?c({...e,isGrouped:!0}):c({...e,isGrouped:!1})},(e,t)=>{c({...e,alias:t.target.value})},(e,t)=>{t.target.checked?c({...e,isOutput:!0}):c({...e,isOutput:!1})},e=>getTableDisplayName(e,r)]}class QueryDesignColumns extends SvelteComponent{constructor(e){super(),init(this,e,instance$1I,create_fragment$1K,safe_not_equal,{value:0,onChange:6})}}function create__1_slot$5(e){let t,n;return t=new QueryDesigner({props:{value:e[3].value||{},conid:e[0],database:e[1],engine:e[4]&&e[4].engine,onChange:e[10],menu:e[13]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n[0]&&(o.value=e[3].value||{}),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),16&n[0]&&(o.engine=e[4]&&e[4].engine),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__0_slot$1(e){let t,n;return t=new SocketMessageView({props:{eventName:e[2]?`session-info-${e[2]}`:null,executeNumber:e[5],showProcedure:!0,showLine:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n[0]&&(o.eventName=e[2]?`session-info-${e[2]}`:null),32&n[0]&&(o.executeNumber=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$5(e){let t,n;return t=new ResultTabs({props:{tabs:[{label:"Columns",component:QueryDesignColumns,props:{value:e[3].value||{},onChange:e[10]}},{label:"SQL",component:SqlEditor,props:{engine:e[4]&&e[4].engine,readOnly:!0,value:e[7]}},e[6]&&{label:"Messages",slot:0}],sessionId:e[2],executeNumber:e[5],$$slots:{0:[create__0_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};216&n[0]&&(o.tabs=[{label:"Columns",component:QueryDesignColumns,props:{value:e[3].value||{},onChange:e[10]}},{label:"SQL",component:SqlEditor,props:{engine:e[4]&&e[4].engine,readOnly:!0,value:e[7]}},e[6]&&{label:"Messages",slot:0}]),4&n[0]&&(o.sessionId=e[2]),32&n[0]&&(o.executeNumber=e[5]),36&n[0]|2048&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$H(e){let t,n;return t=new VerticalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$5],1:[create__1_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};255&n[0]|2048&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$5(e){let t,n,o,r,i,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.execute"}}),o=new ToolStripCommandButton({props:{command:"designer.kill"}}),i=new ToolStripCommandButton({props:{command:"designer.openSql"}}),s=new ToolStripSaveButton({props:{idPrefix:"designer"}}),l=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[14],label:"Export result"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,d){mount_component(t,e,d),insert(e,n,d),mount_component(o,e,d),insert(e,r,d),mount_component(i,e,d),insert(e,a,d),mount_component(s,e,d),insert(e,c,d),mount_component(l,e,d),u=!0},p:noop$3,i(e){u||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1J(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$5],default:[create_default_slot$H]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};255&n[0]|2048&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$6=()=>getActiveComponent("QueryDesignTab");function instance$1H(e,t,n){let o,r,i,a,s,c,l,u,d=noop$3,p=noop$3;component_subscribe(e,extensions,(e=>n(32,l=e))),e.$$.on_destroy.push((()=>d())),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:h}=t,{conid:f}=t,{database:g}=t,{initialArgs:$}=t;const b=useTimerLabel();let v=!1,y=0,x=!1,w=null,C="";const k=createActivator("QueryDesignTab",!0);const S=()=>{n(29,v=!1),b.stop()},T=(e,t)=>I({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),{editorState:E,editorValue:A,setEditorData:D}=useEditorData({tabid:h,onInitialData:e=>{I({type:"reset",value:e})}});component_subscribe(e,E,(e=>n(33,a=e)));const[N,I]=createUndoReducer({tables:[],references:[],columns:[]});component_subscribe(e,N,(e=>n(3,s=e)));const R=createQuickExportHandlerRef();return e.$$set=e=>{"tabid"in e&&n(15,h=e.tabid),"conid"in e&&n(0,f=e.conid),"database"in e&&n(1,g=e.database),"initialArgs"in e&&n(16,$=e.initialArgs)},e.$$.update=()=>{1&e.$$.dirty[0]&&(n(9,o=useConnectionInfo({conid:f})),p(),p=subscribe(o,(e=>n(4,u=e)))),16&e.$$.dirty[0]|2&e.$$.dirty[1]&&n(30,r=lib$4.findEngineDriver(u,l)),4&e.$$.dirty[0]&&(n(8,i=useEffect((()=>{return(e=w)?(apiOn(`session-done-${e}`,S),()=>{apiOff(`session-done-${e}`,S)}):()=>{};var e}))),d(),d=subscribe(i,(e=>n(31,c=e)))),e.$$.dirty[1],536903680&e.$$.dirty[0]&&changeTab(h,(e=>Object.assign(Object.assign({},e),{busy:v}))),536870924&e.$$.dirty[0]&&invalidateCommands(),8&e.$$.dirty[0]&&D(s.value),1073741832&e.$$.dirty[0]&&((e,t)=>{if(!t||!e)return;const o=generateDesignedQuery(e,t);n(7,C=sqlFormatter.format(o))})(s.value,r)},[f,g,w,s,u,y,x,C,i,o,T,E,N,function(){var e,t;return[{command:"designer.execute"},{command:"designer.kill"},{command:"designer.openSql"},{divider:!0},{command:"designer.save"},{command:"designer.saveAs"},{divider:!0},{command:"designer.undo"},{command:"designer.redo"},{divider:!0},{text:"Remove duplicates: "+((null===(t=null===(e=a.value)||void 0===e?void 0:e.settings)||void 0===t?void 0:t.isDistinct)?"YES":"NO"),onClick:()=>{var e,t,n;T(Object.assign(Object.assign({},a.value),{settings:Object.assign(Object.assign({},null===(e=a.value)||void 0===e?void 0:e.settings),{isDistinct:!(null===(n=null===(t=a.value)||void 0===t?void 0:t.settings)||void 0===n?void 0:n.isDistinct)})}),!1)}}]},R,h,$,k,function(){return!!w},function(){return v},function(){return h},function(){return m(this,void 0,void 0,(function*(){if(v)return;n(5,y++,y),n(6,x=!0);let e=w;if(!e){e=(yield apiCall("sessions/create",{conid:f,database:g})).sesid,n(2,w=e)}n(29,v=!0),b.start(),yield apiCall("sessions/execute-query",{sesid:e,sql:C})}))},function(){return m(this,void 0,void 0,(function*(){yield apiCall("sessions/kill",{sesid:w}),n(2,w=null),n(29,v=!1),b.stop()}))},function(){return a.value||""},function(){return s.canUndo},function(){I({type:"undo"})},function(){return s.canRedo},function(){I({type:"redo"})},function(){newQuery({initialData:C})},v,r,c,l]}registerCommand({id:"designer.openSql",category:"Designer",icon:"icon sql-file",name:"Open SQL",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>null!=getCurrentEditor$6(),onClick:()=>getCurrentEditor$6().openSql()}),registerFileCommands({idPrefix:"designer",category:"Designer",getCurrentEditor:getCurrentEditor$6,folder:"query",format:"json",fileExtension:"qdesign",execute:!0,undoRedo:!0});class QueryDesignTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1H,create_fragment$1J,safe_not_equal,{tabid:15,conid:0,database:1,initialArgs:16,activator:17,canKill:18,isBusy:19,getTabId:20,execute:21,kill:22,getData:23,canUndo:24,undo:25,canRedo:26,redo:27,openSql:28},null,[-1,-1])}get activator(){return this.$$.ctx[17]}get canKill(){return this.$$.ctx[18]}get isBusy(){return this.$$.ctx[19]}get getTabId(){return this.$$.ctx[20]}get execute(){return this.$$.ctx[21]}get kill(){return this.$$.ctx[22]}get getData(){return this.$$.ctx[23]}get canUndo(){return this.$$.ctx[24]}get undo(){return this.$$.ctx[25]}get canRedo(){return this.$$.ctx[26]}get redo(){return this.$$.ctx[27]}get openSql(){return this.$$.ctx[28]}}var QueryDesignTab$1=Object.freeze({__proto__:null,default:QueryDesignTab});function create_default_slot$G(e){let t,n,o,r,i,a;function s(t){e[4](t)}let c={focused:!0};return void 0!==e[0]&&(c.value=e[0]),r=new TextField({props:c}),binding_callbacks.push((()=>bind(r,"value",s))),r.$on("keydown",e[1]),{c(){t=element("div"),t.textContent="Show desired key combination and press ENTER",n=space(),o=element("div"),create_component(r.$$.fragment),attr(t,"class","mb-2"),attr(o,"class","largeFormMarker")},m(e,i){insert(e,t,i),insert(e,n,i),insert(e,o,i),mount_component(r,o,null),a=!0},p(e,t){const n={};!i&&1&t&&(i=!0,n.value=e[0],add_flush_callback((()=>i=!1))),r.$set(n)},i(e){a||(transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(r)}}}function create_fragment$1I(e){let t,n;const o=[e[2],{simple:!0}];let r={$$slots:{default:[create_default_slot$G]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=4&n?get_spread_update(o,[get_spread_object(e[2]),o[1]]):{};33&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1G(e,t,n){const o=["onChange"];let r,i=compute_rest_props(t,o),{onChange:a}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,i=compute_rest_props(t,o)),"onChange"in e&&n(3,a=e.onChange)},[r,function(e){if(e.preventDefault(),e.stopPropagation(),e.keyCode==keycodes.escape)return void closeCurrentModal();if(e.keyCode==keycodes.enter&&r)return a(r),void closeCurrentModal();let t="";e.ctrlKey&&(t+="Ctrl+"),e.shiftKey&&(t+="Shift+"),e.metaKey&&(t+="Command+"),e.altKey&&(t+="Alt+"),"Control"!=e.key&&"Alt"!=e.key&&"Shift"!=e.key&&"Meta"!=e.key&&(t+=_.upperFirst(e.key)),n(0,r=t)},i,a,function(e){r=e,n(0,r)}]}class KeyboardModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1G,create_fragment$1I,safe_not_equal,{onChange:3})}}function create_default_slot_1$p(e){let t,n,o,r,i,a,s,c,l;return t=new FormTextField({props:{label:"Category",name:"category",disabled:!0}}),o=new FormTextField({props:{label:"Name",name:"name",disabled:!0}}),a=new FormTextField({props:{label:"Keyboard shortcut",name:"keyText",templateProps:{noMargin:!0},focused:!0}}),c=new FormStyledButton({props:{type:"button",value:"Keyboard"}}),c.$on("click",e[3]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(i,"class","row svelte-1h6n7am")},m(e,u){mount_component(t,e,u),insert(e,n,u),mount_component(o,e,u),insert(e,r,u),insert(e,i,u),mount_component(a,i,null),append(i,s),mount_component(c,i,null),l=!0},p:noop$3,i(e){l||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),e&&detach(i),destroy_component(a),destroy_component(c)}}}function create_header_slot$7(e){let t;return{c(){t=text$1("Configure commmand")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$6(e){let t,n,o,r,i,a;return t=new FormSubmit({props:{value:"OK"}}),t.$on("click",e[5]),o=new FormStyledButton({props:{type:"button",value:"Reset"}}),o.$on("click",e[6]),i=new FormStyledButton({props:{type:"button",value:"Close"}}),i.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_default_slot$F(e){let t,n;const o=[e[4]];let r={$$slots:{footer:[create_footer_slot$6],header:[create_header_slot$7],default:[create_default_slot_1$p]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};131&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1H(e){let t,n;return t=new FormProviderCore({props:{values:e[2],$$slots:{default:[create_default_slot$F]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};147&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1F(e,t,n){const o=["command"];let r,i=compute_rest_props(t,o);component_subscribe(e,commandsSettings,(e=>n(1,r=e)));let{command:a}=t,s=writable(a);return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,o)),"command"in e&&n(0,a=e.command)},[a,r,s,function(){showModal(KeyboardModal,{onChange:e=>s.update((t=>Object.assign(Object.assign({},t),{keyText:e})))})},i,e=>{closeCurrentModal(),apiCall("config/update-settings",{commands:{...r,[a.id]:{keyText:e.detail.keyText,customKeyboardShortcut:!0}}})},()=>{closeCurrentModal(),apiCall("config/update-settings",{commands:_.omit(r,[a.id])})}]}class CommandModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1F,create_fragment$1H,safe_not_equal,{command:0})}}function create_fragment$1G(e){let t,n,o,r,i,a,s,c,l,u,d;function p(t){e[3](t)}let m={placeholder:"Search in commands (by category, name, shortcut or id)"};function h(t){e[4](t)}void 0!==e[0]&&(m.value=e[0]),o=new SearchInput({props:m}),binding_callbacks.push((()=>bind(o,"value",p)));let f={showDisabled:!0};return void 0!==e[0]&&(f.filter=e[0]),a=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind(a,"filter",h))),u=new TableControl({props:{clickable:!0,rows:e[1].filter(e[5]),columns:[{header:"Category",fieldName:"category"},{header:"Name",fieldName:"name"},{header:"Keyboard shortcut",fieldName:"keyText",isHighlighted:func_1$6},{header:"commandId",fieldName:"id"}]}}),u.$on("clickrow",e[6]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),create_component(a.$$.fragment),c=space(),l=element("div"),create_component(u.$$.fragment),attr(n,"class","flex"),attr(l,"class","table-wrapper svelte-1d8o0gh"),attr(t,"class","wrapper svelte-1d8o0gh")},m(e,r){insert(e,t,r),append(t,n),mount_component(o,n,null),append(n,i),mount_component(a,n,null),append(t,c),append(t,l),mount_component(u,l,null),d=!0},p(e,[t]){const n={};!r&&1&t&&(r=!0,n.value=e[0],add_flush_callback((()=>r=!1))),o.$set(n);const i={};!s&&1&t&&(s=!0,i.filter=e[0],add_flush_callback((()=>s=!1))),a.$set(i);const c={};3&t&&(c.rows=e[1].filter(e[5])),u.$set(c)},i(e){d||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(u.$$.fragment,e),d=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(u.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(u)}}}const matchingProps$4=[],func_1$6=e=>e.customKeyboardShortcut;function instance$1E(e,t,n){let o,r,i;component_subscribe(e,commandsCustomized,(e=>n(2,r=e)));return e.$$.update=()=>{4&e.$$.dirty&&n(1,o=_.sortBy(_.values(r),["category","name"]))},[i,o,r,function(e){i=e,n(0,i)},function(e){i=e,n(0,i)},e=>lib$4.filterName(i,e.category,e.name,e.keyText,e.id),e=>showModal(CommandModal,{command:e.detail})]}class CommandListTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1E,create_fragment$1G,safe_not_equal,{})}}var CommandListTab$1=Object.freeze({__proto__:null,default:CommandListTab,matchingProps:matchingProps$4});function create_fragment$1F(e){let t,n,o={value:e[2].value||"",menu:createMenu$3(),mode:"yaml"};return t=new AceEditor({props:o}),e[14](t),t.$on("input",e[15]),t.$on("focus",e[16]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[14](null),destroy_component(t,n)}}}const getCurrentEditor$5=()=>getActiveComponent("YamlEditorTab");function createMenu$3(){return[{command:"yaml.toggleComment"},{divider:!0},{command:"yaml.save"},{command:"yaml.saveAs"},{divider:!0},{command:"yaml.find"},{command:"yaml.replace"}]}function instance$1D(e,t,n){let o,r;var i;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,r=e)));const c=createActivator("YamlEditorTab",!1);let l;const{editorState:u,editorValue:d,setEditorData:p,saveToStorage:m}=useEditorData({tabid:a});component_subscribe(e,u,(e=>n(2,o=e)));return e.$$set=e=>{"tabid"in e&&n(6,a=e.tabid)},e.$$.update=()=>{12290&e.$$.dirty&&r&&l&&(null===n(12,i=null==l?void 0:l.getEditor())||void 0===i||i.focus())},[c,l,o,s,u,p,a,function(){return o.value||""},function(){l.getEditor().execCommand("togglecomment")},function(){l.getEditor().execCommand("find")},function(){l.getEditor().execCommand("replace")},function(){return a},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>p(e.detail),()=>{c.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"yaml",category:"Yaml",getCurrentEditor:getCurrentEditor$5,folder:"yaml",format:"text",fileExtension:"yaml",toggleComment:!0,findReplace:!0});class YamlEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1D,create_fragment$1F,safe_not_equal,{tabid:6,activator:0,getData:7,toggleComment:8,find:9,replace:10,getTabId:11})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[7]}get toggleComment(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}}var YamlEditorTab$1=Object.freeze({__proto__:null,default:YamlEditorTab});function create_default_slot$E(e){let t,n,o={value:e[2].value||"",menu:createMenu$2(),mode:"json"};return t=new AceEditor({props:o}),e[14](t),t.$on("input",e[15]),t.$on("focus",e[16]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[14](null),destroy_component(t,n)}}}function create_toolstrip_slot$4(e){let t,n;return t=new ToolStripSaveButton({props:{idPrefix:"json"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1E(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$4],default:[create_default_slot$E]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};524294&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$4=()=>getActiveComponent("JsonEditorTab");function createMenu$2(){return[{command:"json.toggleComment"},{divider:!0},{command:"json.save"},{command:"json.saveAs"},{divider:!0},{command:"json.find"},{command:"json.replace"}]}function instance$1C(e,t,n){let o,r;var i;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,r=e)));const c=createActivator("JsonEditorTab",!1);let l;const{editorState:u,editorValue:d,setEditorData:p,saveToStorage:m}=useEditorData({tabid:a});component_subscribe(e,u,(e=>n(2,o=e)));return e.$$set=e=>{"tabid"in e&&n(6,a=e.tabid)},e.$$.update=()=>{12290&e.$$.dirty&&r&&l&&(null===n(12,i=null==l?void 0:l.getEditor())||void 0===i||i.focus())},[c,l,o,s,u,p,a,function(){return o.value||""},function(){l.getEditor().execCommand("togglecomment")},function(){l.getEditor().execCommand("find")},function(){l.getEditor().execCommand("replace")},function(){return a},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>p(e.detail),()=>{c.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"json",category:"Json",getCurrentEditor:getCurrentEditor$4,folder:"yaml",format:"text",fileExtension:"json",toggleComment:!0,findReplace:!0});class JsonEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1C,create_fragment$1E,safe_not_equal,{tabid:6,activator:0,getData:7,toggleComment:8,find:9,replace:10,getTabId:11})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[7]}get toggleComment(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}}var JsonEditorTab$1=Object.freeze({__proto__:null,default:JsonEditorTab});function create__1_slot$4(e){let t,n,o={value:e[3].value||"",menu:createMenu$1(),mode:"json"};return t=new AceEditor({props:o}),e[21](t),t.$on("input",e[22]),t.$on("focus",e[23]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.value=e[3].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[21](null),destroy_component(t,n)}}}function create_if_block$K(e){let t,n,o=e[2],r=create_key_block(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){4&n&&safe_not_equal(o,o=e[2])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block(e),r.c(),transition_in(r),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_key_block(e){let t,n;return t=new JslDataGrid({props:{jslid:e[2],supportsReload:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.jslid=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$4(e){let t,n,o=e[2]&&create_if_block$K(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[2]?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$K(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_default_slot$D(e){let t,n;return t=new VerticalSplitter({props:{isSplitter:e[2],$$slots:{2:[create__2_slot$4],1:[create__1_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.isSplitter=e[2]),268435470&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$3(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"jsonl.save"}}),o=new ToolStripCommandSplitButton({props:{commands:["jsonl.preview","jsonl.previewNewTab"]}}),i=new ToolStripCommandButton({props:{command:"jsonl.closePreview"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1D(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$3],default:[create_default_slot$D]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};268435470&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$3=()=>getActiveComponent("JsonLinesEditorTab");function createMenu$1(){return[{command:"jsonl.save"},{command:"jsonl.preview"},{divider:!0},{command:"jsonl.find"},{command:"jsonl.replace"}]}function instance$1B(e,t,n){let o,r;var i,a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:s}=t,{archiveFolder:c}=t,{archiveFile:l}=t,u=null;const d=getContext("tabVisible");component_subscribe(e,d,(e=>n(20,r=e)));const p=createActivator("JsonLinesEditorTab",!1);let m;const h=(e,t)=>a(void 0,void 0,void 0,(function*(){yield apiCall("archive/save-text",{folder:e,file:t,text:o.value||""}),changeTab(s,(n=>Object.assign(Object.assign({},n),{title:t,props:{archiveFile:t,archiveFolder:e},archiveFile:t,archiveFolder:e}))),n(8,l=t),n(7,c=e)})),{editorState:f,editorValue:g,setEditorData:_,saveToStorage:$}=useEditorData({tabid:s});component_subscribe(e,f,(e=>n(3,o=e)));return e.$$set=e=>{"tabid"in e&&n(9,s=e.tabid),"archiveFolder"in e&&n(7,c=e.archiveFolder),"archiveFile"in e&&n(8,l=e.archiveFile)},e.$$.update=()=>{1572866&e.$$.dirty&&r&&m&&(null===n(19,i=null==m?void 0:m.getEditor())||void 0===i||i.focus())},[p,m,u,o,d,f,_,c,l,s,function(){return o.value||""},function(){m.getEditor().execCommand("find")},function(){m.getEditor().execCommand("replace")},function(){return s},function(){return!!u},function(){n(2,u=null)},function(){showModal(SaveArchiveModal,{folder:c,file:l,onSave:h})},function(){return a(this,void 0,void 0,(function*(){const e=v1_1$4();yield apiCall("jsldata/save-text",{jslid:e,text:o.value||""}),openNewTab({title:"Preview #",icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:e}},void 0,{forceNewTab:!0})}))},function(){return a(this,void 0,void 0,(function*(){n(2,u=v1_1$4()),yield apiCall("jsldata/save-text",{jslid:u,text:o.value||""})}))},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{m=e,n(1,m)}))},e=>_(e.detail),()=>{p.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"jsonl",category:"JSON Lines editor",getCurrentEditor:getCurrentEditor$3,folder:null,format:"text",fileExtension:"jsonl",save:!1,findReplace:!0}),registerCommand({id:"jsonl.save",group:"save",category:"JSON Lines editor",name:"Save",toolbar:!0,isRelatedToTab:!0,icon:"icon save",testEnabled:()=>null!=getCurrentEditor$3(),onClick:()=>getCurrentEditor$3().save()}),registerCommand({id:"jsonl.preview",category:"JSON Lines editor",name:"Preview",icon:"icon preview",keyText:"F5",testEnabled:()=>null!=getCurrentEditor$3(),onClick:()=>getCurrentEditor$3().preview()}),registerCommand({id:"jsonl.previewNewTab",category:"JSON Lines editor",name:"Preview in new tab",icon:"icon preview",testEnabled:()=>null!=getCurrentEditor$3(),onClick:()=>getCurrentEditor$3().previewMewTab()}),registerCommand({id:"jsonl.closePreview",category:"JSON Lines editor",name:"Close preview",icon:"icon close",testEnabled:()=>{var e;return null===(e=getCurrentEditor$3())||void 0===e?void 0:e.isPreview()},onClick:()=>getCurrentEditor$3().closePreview()});class JsonLinesEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1B,create_fragment$1D,safe_not_equal,{tabid:9,archiveFolder:7,archiveFile:8,activator:0,getData:10,find:11,replace:12,getTabId:13,isPreview:14,closePreview:15,save:16,previewMewTab:17,preview:18})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[10]}get find(){return this.$$.ctx[11]}get replace(){return this.$$.ctx[12]}get getTabId(){return this.$$.ctx[13]}get isPreview(){return this.$$.ctx[14]}get closePreview(){return this.$$.ctx[15]}get save(){return this.$$.ctx[16]}get previewMewTab(){return this.$$.ctx[17]}get preview(){return this.$$.ctx[18]}}var JsonLinesEditorTab$1=Object.freeze({__proto__:null,default:JsonLinesEditorTab});function Diff(){}function buildValues(e,t,n,o,r){for(var i=0,a=t.length,s=0,c=0;i<a;i++){var l=t[i];if(l.removed){if(l.value=e.join(o.slice(c,c+l.count)),c+=l.count,i&&t[i-1].added){var u=t[i-1];t[i-1]=t[i],t[i]=u}}else{if(!l.added&&r){var d=n.slice(s,s+l.count);d=d.map((function(e,t){var n=o[c+t];return n.length>e.length?n:e})),l.value=e.join(d)}else l.value=e.join(n.slice(s,s+l.count));s+=l.count,l.added||(c+=l.count)}}var p=t[a-1];return a>1&&"string"==typeof p.value&&(p.added||p.removed)&&e.equals("",p.value)&&(t[a-2].value+=p.value,t.pop()),t}function clonePath(e){return{newPos:e.newPos,components:e.components.slice(0)}}Diff.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.callback;"function"==typeof n&&(o=n,n={}),this.options=n;var r=this;function i(e){return o?(setTimeout((function(){o(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var a=(t=this.removeEmpty(this.tokenize(t))).length,s=e.length,c=1,l=a+s,u=[{newPos:-1,components:[]}],d=this.extractCommon(u[0],t,e,0);if(u[0].newPos+1>=a&&d+1>=s)return i([{value:this.join(t),count:t.length}]);function p(){for(var n=-1*c;n<=c;n+=2){var o=void 0,l=u[n-1],d=u[n+1],p=(d?d.newPos:0)-n;l&&(u[n-1]=void 0);var m=l&&l.newPos+1<a,h=d&&0<=p&&p<s;if(m||h){if(!m||h&&l.newPos<d.newPos?(o=clonePath(d),r.pushComponent(o.components,void 0,!0)):((o=l).newPos++,r.pushComponent(o.components,!0,void 0)),p=r.extractCommon(o,t,e,n),o.newPos+1>=a&&p+1>=s)return i(buildValues(r,o.components,t,e,r.useLongestToken));u[n]=o}else u[n]=void 0}c++}if(o)!function e(){setTimeout((function(){if(c>l)return o();p()||e()}),0)}();else for(;c<=l;){var m=p();if(m)return m}},pushComponent:function(e,t,n){var o=e[e.length-1];o&&o.added===t&&o.removed===n?e[e.length-1]={count:o.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,o){for(var r=t.length,i=n.length,a=e.newPos,s=a-o,c=0;a+1<r&&s+1<i&&this.equals(t[a+1],n[s+1]);)a++,s++,c++;return c&&e.components.push({count:c}),e.newPos=a,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};var characterDiff=new Diff;function diffChars(e,t,n){return characterDiff.diff(e,t,n)}var extendedWordChars=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,reWhitespace=/\S/,wordDiff=new Diff;function diffWordsWithSpace(e,t,n){return wordDiff.diff(e,t,n)}wordDiff.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!reWhitespace.test(e)&&!reWhitespace.test(t)},wordDiff.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&extendedWordChars.test(t[n])&&extendedWordChars.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var lineDiff=new Diff;function diffLines(e,t,n){return lineDiff.diff(e,t,n)}lineDiff.tokenize=function(e){var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var o=0;o<n.length;o++){var r=n[o];o%2&&!this.options.newlineIsToken?t[t.length-1]+=r:(this.options.ignoreWhitespace&&(r=r.trim()),t.push(r))}return t};var sentenceDiff=new Diff;sentenceDiff.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var cssDiff=new Diff;function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}cssDiff.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var objectPrototypeToString=Object.prototype.toString,jsonDiff=new Diff;function canonicalize(e,t,n,o,r){var i,a;for(t=t||[],n=n||[],o&&(e=o(r,e)),i=0;i<t.length;i+=1)if(t[i]===e)return n[i];if("[object Array]"===objectPrototypeToString.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),i=0;i<e.length;i+=1)a[i]=canonicalize(e[i],t,n,o,r);return t.pop(),n.pop(),a}if(e&&e.toJSON&&(e=e.toJSON()),"object"===_typeof(e)&&null!==e){t.push(e),a={},n.push(a);var s,c=[];for(s in e)e.hasOwnProperty(s)&&c.push(s);for(c.sort(),i=0;i<c.length;i+=1)a[s=c[i]]=canonicalize(e[s],t,n,o,s);t.pop(),n.pop()}else a=e;return a}jsonDiff.useLongestToken=!0,jsonDiff.tokenize=lineDiff.tokenize,jsonDiff.castInput=function(e){var t=this.options,n=t.undefinedReplacement,o=t.stringifyReplacer,r=void 0===o?function(e,t){return void 0===t?n:t}:o;return"string"==typeof e?e:JSON.stringify(canonicalize(e,null,null,r),r," ")},jsonDiff.equals=function(e,t){return Diff.prototype.equals.call(jsonDiff,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};var arrayDiff=new Diff,LineType;function structuredPatch(e,t,n,o,r,i,a){a||(a={}),void 0===a.context&&(a.context=4);var s=diffLines(n,o,a);function c(e){return e.map((function(e){return" "+e}))}s.push({value:"",lines:[]});for(var l=[],u=0,d=0,p=[],m=1,h=1,f=function(e){var t=s[e],r=t.lines||t.value.replace(/\n$/,"").split("\n");if(t.lines=r,t.added||t.removed){var i;if(!u){var f=s[e-1];u=m,d=h,f&&(p=a.context>0?c(f.lines.slice(-a.context)):[],u-=p.length,d-=p.length)}(i=p).push.apply(i,_toConsumableArray(r.map((function(e){return(t.added?"+":"-")+e})))),t.added?h+=r.length:m+=r.length}else{if(u)if(r.length<=2*a.context&&e<s.length-2){var g;(g=p).push.apply(g,_toConsumableArray(c(r)))}else{var _,$=Math.min(r.length,a.context);(_=p).push.apply(_,_toConsumableArray(c(r.slice(0,$))));var b={oldStart:u,oldLines:m-u+$,newStart:d,newLines:h-d+$,lines:p};if(e>=s.length-2&&r.length<=a.context){var v=/\n$/.test(n),y=/\n$/.test(o),x=0==r.length&&p.length>b.oldLines;!v&&x&&n.length>0&&p.splice(b.oldLines,0,"\"),(v||x)&&y||p.push("\")}l.push(b),u=0,d=0,p=[]}m+=r.length,h+=r.length}},g=0;g<s.length;g++)f(g);return{oldFileName:e,newFileName:t,oldHeader:r,newHeader:i,hunks:l}}function formatPatch(e){var t=[];e.oldFileName==e.newFileName&&t.push("Index: "+e.oldFileName),t.push("==================================================================="),t.push("--- "+e.oldFileName+(void 0===e.oldHeader?"":"\t"+e.oldHeader)),t.push("+++ "+e.newFileName+(void 0===e.newHeader?"":"\t"+e.newHeader));for(var n=0;n<e.hunks.length;n++){var o=e.hunks[n];0===o.oldLines&&(o.oldStart-=1),0===o.newLines&&(o.newStart-=1),t.push("@@ -"+o.oldStart+","+o.oldLines+" +"+o.newStart+","+o.newLines+" @@"),t.push.apply(t,o.lines)}return t.join("\n")+"\n"}function createTwoFilesPatch(e,t,n,o,r,i,a){return formatPatch(structuredPatch(e,t,n,o,r,i,a))}arrayDiff.tokenize=function(e){return e.slice()},arrayDiff.join=arrayDiff.removeEmpty=function(e){return e},function(e){e.INSERT="insert",e.DELETE="delete",e.CONTEXT="context"}(LineType||(LineType={}));var OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"},DiffStyleType={WORD:"word",CHAR:"char"},specials=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],regex=RegExp("["+specials.join("\\")+"]","g");function escapeForRegExp(e){return e.replace(regex,"\\$&")}function unifyPath(e){return e?e.replace(/\\/g,"/"):e}function hashCode(e){var t,n,o=0;for(t=0,n=e.length;t<n;t++)o=(o<<5)-o+e.charCodeAt(t),o|=0;return o}var __spreadArray=function(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))};function getExtension(e,t){var n=e.split(".");return n.length>1?n[n.length-1]:t}function startsWithAny(e,t){return t.reduce((function(t,n){return t||e.startsWith(n)}),!1)}var baseDiffFilenamePrefixes=["a/","b/","i/","w/","c/","o/"];function getFilename(e,t,n){var o=void 0!==n?__spreadArray(__spreadArray([],baseDiffFilenamePrefixes,!0),[n],!1):baseDiffFilenamePrefixes,r=((t?new RegExp("^"+escapeForRegExp(t)+' "?(.+?)"?$'):new RegExp('^"?(.+?)"?$')).exec(e)||[])[1],i=void 0===r?"":r,a=o.find((function(e){return 0===i.indexOf(e)}));return(a?i.slice(a.length):i).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function getSrcFilename(e,t){return getFilename(e,"---",t)}function getDstFilename(e,t){return getFilename(e,"+++",t)}function parse$1(e,t){void 0===t&&(t={});var n=[],o=null,r=null,i=null,a=null,s=null,c=null,l=null,u="--- ",d="+++ ",p="@@",m=/^old mode (\d{6})/,h=/^new mode (\d{6})/,f=/^deleted file mode (\d{6})/,g=/^new file mode (\d{6})/,_=/^copy from "?(.+)"?/,$=/^copy to "?(.+)"?/,b=/^rename from "?(.+)"?/,v=/^rename to "?(.+)"?/,y=/^similarity index (\d+)%/,x=/^dissimilarity index (\d+)%/,w=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,C=/^Binary files (.*) and (.*) differ/,k=/^GIT binary patch/,S=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,T=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,E=/^new file mode (\d{6})/,A=/^deleted file mode (\d{6}),(\d{6})/,D=e.replace(/\/g,"").replace(/\r\n?/g,"\n").split("\n");function N(){null!==r&&null!==o&&(o.blocks.push(r),r=null)}function I(){null!==o&&(o.oldName||null===c||(o.oldName=c),o.newName||null===l||(o.newName=l),o.newName&&(n.push(o),o=null)),c=null,l=null}function R(){N(),I(),o={blocks:[],deletedLines:0,addedLines:0}}function O(e){var t;N(),null!==o&&((t=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))?(o.isCombined=!1,i=parseInt(t[1],10),s=parseInt(t[2],10)):(t=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))?(o.isCombined=!0,i=parseInt(t[1],10),a=parseInt(t[2],10),s=parseInt(t[3],10)):(e.startsWith(p)&&console.error("Failed to parse lines, starting in 0!"),i=0,s=0,o.isCombined=!1)),r={lines:[],oldStartLine:i,oldStartLine2:a,newStartLine:s,header:e}}return D.forEach((function(e,a){if(e&&!e.startsWith("*")){var N,I=D[a-1],F=D[a+1],M=D[a+2];if(e.startsWith("diff")){R();if((N=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(e))&&(c=getFilename(N[1],void 0,t.dstPrefix),l=getFilename(N[2],void 0,t.srcPrefix)),null===o)throw new Error("Where is my file !!!");o.isGitDiff=!0}else if((!o||!o.isGitDiff&&o&&e.startsWith(u)&&F.startsWith(d)&&M.startsWith(p))&&R(),!(null==o?void 0:o.isTooBig)){if(o&&("number"==typeof t.diffMaxChanges&&o.addedLines+o.deletedLines>t.diffMaxChanges||"number"==typeof t.diffMaxLineLength&&e.length>t.diffMaxLineLength))return o.isTooBig=!0,o.addedLines=0,o.deletedLines=0,o.blocks=[],r=null,void O("function"==typeof t.diffTooBigMessage?t.diffTooBigMessage(n.length):"Diff too big to be displayed");if(e.startsWith(u)&&F.startsWith(d)||e.startsWith(d)&&I.startsWith(u)){if(o&&!o.oldName&&e.startsWith("--- ")&&(N=getSrcFilename(e,t.srcPrefix)))return o.oldName=N,void(o.language=getExtension(o.oldName,o.language));if(o&&!o.newName&&e.startsWith("+++ ")&&(N=getDstFilename(e,t.dstPrefix)))return o.newName=N,void(o.language=getExtension(o.newName,o.language))}if(o&&(e.startsWith(p)||o.isGitDiff&&o.oldName&&o.newName&&!r))O(e);else if(r&&(e.startsWith("+")||e.startsWith("-")||e.startsWith(" ")))!function(e){if(null!==o&&null!==r&&null!==i&&null!==s){var t={content:e},n=o.isCombined?["+ "," +","++"]:["+"],a=o.isCombined?["- "," -","--"]:["-"];startsWithAny(e,n)?(o.addedLines++,t.type=LineType.INSERT,t.oldNumber=void 0,t.newNumber=s++):startsWithAny(e,a)?(o.deletedLines++,t.type=LineType.DELETE,t.oldNumber=i++,t.newNumber=void 0):(t.type=LineType.CONTEXT,t.oldNumber=i++,t.newNumber=s++),r.lines.push(t)}}(e);else{var L=!function(e,t){for(var n=t;n<D.length-3;){if(e.startsWith("diff"))return!1;if(D[n].startsWith(u)&&D[n+1].startsWith(d)&&D[n+2].startsWith(p))return!0;n++}return!1}(e,a);if(null===o)throw new Error("Where is my file !!!");(N=m.exec(e))?o.oldMode=N[1]:(N=h.exec(e))?o.newMode=N[1]:(N=f.exec(e))?(o.deletedFileMode=N[1],o.isDeleted=!0):(N=g.exec(e))?(o.newFileMode=N[1],o.isNew=!0):(N=_.exec(e))?(L&&(o.oldName=N[1]),o.isCopy=!0):(N=$.exec(e))?(L&&(o.newName=N[1]),o.isCopy=!0):(N=b.exec(e))?(L&&(o.oldName=N[1]),o.isRename=!0):(N=v.exec(e))?(L&&(o.newName=N[1]),o.isRename=!0):(N=C.exec(e))?(o.isBinary=!0,o.oldName=getFilename(N[1],void 0,t.srcPrefix),o.newName=getFilename(N[2],void 0,t.dstPrefix),O("Binary file")):k.test(e)?(o.isBinary=!0,O(e)):(N=y.exec(e))?o.unchangedPercentage=parseInt(N[1],10):(N=x.exec(e))?o.changedPercentage=parseInt(N[1],10):(N=w.exec(e))?(o.checksumBefore=N[1],o.checksumAfter=N[2],N[3]&&(o.mode=N[3])):(N=S.exec(e))?(o.checksumBefore=[N[2],N[3]],o.checksumAfter=N[1]):(N=T.exec(e))?(o.oldMode=[N[2],N[3]],o.newMode=N[1]):(N=E.exec(e))?(o.newFileMode=N[1],o.isNew=!0):(N=A.exec(e))&&(o.deletedFileMode=N[1],o.isDeleted=!0)}}}})),N(),I(),n}function levenshtein(e,t){if(0===e.length)return t.length;if(0===t.length)return e.length;var n,o,r=[];for(n=0;n<=t.length;n++)r[n]=[n];for(o=0;o<=e.length;o++)r[0][o]=o;for(n=1;n<=t.length;n++)for(o=1;o<=e.length;o++)t.charAt(n-1)===e.charAt(o-1)?r[n][o]=r[n-1][o-1]:r[n][o]=Math.min(r[n-1][o-1]+1,Math.min(r[n][o-1]+1,r[n-1][o]+1));return r[t.length][e.length]}function newDistanceFn(e){return function(t,n){var o=e(t).trim(),r=e(n).trim();return levenshtein(o,r)/(o.length+r.length)}}function newMatcherFn(e){return function t(n,o,r,i){void 0===r&&(r=0),void 0===i&&(i=new Map);var a=function(t,n,o){void 0===o&&(o=new Map);for(var r,i=1/0,a=0;a<t.length;++a)for(var s=0;s<n.length;++s){var c=JSON.stringify([t[a],n[s]]),l=void 0;o.has(c)&&(l=o.get(c))||(l=e(t[a],n[s]),o.set(c,l)),l<i&&(r={indexA:a,indexB:s,score:i=l})}return r}(n,o,i);if(!a||n.length+o.length<3)return[[n,o]];var s=n.slice(0,a.indexA),c=o.slice(0,a.indexB),l=[n[a.indexA]],u=[o[a.indexB]],d=a.indexA+1,p=a.indexB+1,m=n.slice(d),h=o.slice(p),f=t(s,c,r+1,i),g=t(l,u,r+1,i),_=t(m,h,r+1,i),$=g;return(a.indexA>0||a.indexB>0)&&($=f.concat($)),(n.length>d||o.length>p)&&($=$.concat(_)),$}}var __assign$4=function(){return(__assign$4=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},CSSLineClass={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},defaultRenderConfig={matching:LineMatchingType.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:DiffStyleType.WORD},separator="/",distance=newDistanceFn((function(e){return e.value})),matcher=newMatcherFn(distance);function isDevNullName(e){return-1!==e.indexOf("dev/null")}function removeInsElements(e){return e.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g,"")}function removeDelElements(e){return e.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g,"")}function toCSSClass(e){switch(e){case LineType.CONTEXT:return CSSLineClass.CONTEXT;case LineType.INSERT:return CSSLineClass.INSERTS;case LineType.DELETE:return CSSLineClass.DELETES}}function prefixLength(e){return e?2:1}function escapeForHtml(e){return e.slice(0).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function deconstructLine(e,t,n){void 0===n&&(n=!0);var o=prefixLength(t);return{prefix:e.substring(0,o),content:n?escapeForHtml(e.substring(o)):e.substring(o)}}function filenameDiff(e){var t=unifyPath(e.oldName),n=unifyPath(e.newName);if(t===n||isDevNullName(t)||isDevNullName(n))return isDevNullName(n)?t:n;for(var o=[],r=[],i=t.split(separator),a=n.split(separator),s=0,c=i.length-1,l=a.length-1;s<c&&s<l&&i[s]===a[s];)o.push(a[s]),s+=1;for(;c>s&&l>s&&i[c]===a[l];)r.unshift(a[l]),c-=1,l-=1;var u=o.join(separator),d=r.join(separator),p=i.slice(s,c+1).join(separator),m=a.slice(s,l+1).join(separator);return u.length&&d.length?u+separator+"{"+p+" → "+m+"}"+separator+d:u.length?u+separator+"{"+p+" → "+m+"}":d.length?"{"+p+" → "+m+"}"+separator+d:t+" → "+n}function getHtmlId(e){return"d2h-"+hashCode(filenameDiff(e)).toString().slice(-6)}function getFileIcon(e){var t="file-changed";return e.isRename||e.isCopy?t="file-renamed":e.isNew?t="file-added":e.isDeleted?t="file-deleted":e.newName!==e.oldName&&(t="file-renamed"),t}function diffHighlight(e,t,n,o){void 0===o&&(o={});var r=__assign$4(__assign$4({},defaultRenderConfig),o),i=r.matching,a=r.maxLineLengthHighlight,s=r.matchWordsThreshold,c=r.diffStyle,l=deconstructLine(e,n,!1),u=deconstructLine(t,n,!1);if(l.content.length>a||u.content.length>a)return{oldLine:{prefix:l.prefix,content:escapeForHtml(l.content)},newLine:{prefix:u.prefix,content:escapeForHtml(u.content)}};var d="char"===c?diffChars(l.content,u.content):diffWordsWithSpace(l.content,u.content),p=[];if("word"===c&&"words"===i){var m=d.filter((function(e){return e.removed})),h=d.filter((function(e){return e.added}));matcher(h,m).forEach((function(e){1===e[0].length&&1===e[1].length&&(distance(e[0][0],e[1][0])<s&&(p.push(e[0][0]),p.push(e[1][0])))}))}var f=d.reduce((function(e,t){var n=t.added?"ins":t.removed?"del":null,o=p.indexOf(t)>-1?' class="d2h-change"':"",r=escapeForHtml(t.value);return null!==n?e+"<"+n+o+">"+r+"</"+n+">":""+e+r}),"");return{oldLine:{prefix:l.prefix,content:removeInsElements(f)},newLine:{prefix:u.prefix,content:removeDelElements(f)}}}var baseTemplatesPath$2="file-summary",iconsBaseTemplatesPath$2="icon";function render(e,t){var n=e.map((function(e){return t.render(baseTemplatesPath$2,"line",{fileHtmlId:getHtmlId(e),oldName:e.oldName,newName:e.newName,fileName:filenameDiff(e),deletedLines:"-"+e.deletedLines,addedLines:"+"+e.addedLines},{fileIcon:t.template(iconsBaseTemplatesPath$2,getFileIcon(e))})})).join("\n");return t.render(baseTemplatesPath$2,"wrapper",{filesNumber:e.length,files:n})}var __assign$3=function(){return(__assign$3=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},defaultLineByLineRendererConfig=__assign$3(__assign$3({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath$1="generic",baseTemplatesPath$1="line-by-line",iconsBaseTemplatesPath$1="icon",tagsBaseTemplatesPath$1="tag",LineByLineRenderer=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=__assign$3(__assign$3({},defaultLineByLineRendererConfig),t)}return e.prototype.render=function(e){var t=this,n=e.map((function(e){var n;return n=e.blocks.length?t.generateFileHtml(e):t.generateEmptyDiff(),t.makeFileDiffHtml(e,n)})).join("\n");return this.hoganUtils.render(genericTemplatesPath$1,"wrapper",{content:n})},e.prototype.makeFileDiffHtml=function(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var n=this.hoganUtils.template(baseTemplatesPath$1,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath$1,"file-path"),r=this.hoganUtils.template(iconsBaseTemplatesPath$1,"file"),i=this.hoganUtils.template(tagsBaseTemplatesPath$1,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:r,fileTag:i})})},e.prototype.generateEmptyDiff=function(){return this.hoganUtils.render(genericTemplatesPath$1,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:CSSLineClass})},e.prototype.generateFileHtml=function(e){var t=this,n=newMatcherFn(newDistanceFn((function(t){return deconstructLine(t.content,e.isCombined).content})));return e.blocks.map((function(o){var r=t.hoganUtils.render(genericTemplatesPath$1,"block-header",{CSSLineClass:CSSLineClass,blockHeader:e.isTooBig?o.header:escapeForHtml(o.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return t.applyLineGroupping(o).forEach((function(o){var i=o[0],a=o[1],s=o[2];if(a.length&&s.length&&!i.length)t.applyRematchMatching(a,s,n).map((function(n){var o=n[0],i=n[1],a=t.processChangedLines(e.isCombined,o,i),s=a.left,c=a.right;r+=s,r+=c}));else if(i.length)i.forEach((function(n){var o=deconstructLine(n.content,e.isCombined),i=o.prefix,a=o.content;r+=t.generateSingleLineHtml({type:CSSLineClass.CONTEXT,prefix:i,content:a,oldNumber:n.oldNumber,newNumber:n.newNumber})}));else if(a.length||s.length){var c=t.processChangedLines(e.isCombined,a,s),l=c.left,u=c.right;r+=l,r+=u}else console.error("Unknown state reached while processing groups of lines",i,a,s)})),r})).join("\n")},e.prototype.applyLineGroupping=function(e){for(var t=[],n=[],o=[],r=0;r<e.lines.length;r++){var i=e.lines[r];(i.type!==LineType.INSERT&&o.length||i.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),i.type===LineType.CONTEXT?t.push([[i],[],[]]):i.type===LineType.INSERT&&0===n.length?t.push([[],[],[i]]):i.type===LineType.INSERT&&n.length>0?o.push(i):i.type===LineType.DELETE&&n.push(i)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t},e.prototype.applyRematchMatching=function(e,t,n){var o=e.length*t.length,r=Math.max.apply(null,[0].concat(e.concat(t).map((function(e){return e.content.length}))));return o<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]},e.prototype.processChangedLines=function(e,t,n){for(var o={right:"",left:""},r=Math.max(t.length,n.length),i=0;i<r;i++){var a=t[i],s=n[i],c=void 0!==a&&void 0!==s?diffHighlight(a.content,s.content,e,this.config):void 0,l=void 0!==a&&void 0!==a.oldNumber?__assign$3(__assign$3({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:__assign$3(__assign$3({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{oldNumber:a.oldNumber,newNumber:a.newNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?__assign$3(__assign$3({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:__assign$3(__assign$3({},deconstructLine(s.content,e)),{type:toCSSClass(s.type)})),{oldNumber:s.oldNumber,newNumber:s.newNumber}):void 0,d=this.generateLineHtml(l,u),p=d.left,m=d.right;o.left+=p,o.right+=m}return o},e.prototype.generateLineHtml=function(e,t){return{left:this.generateSingleLineHtml(e),right:this.generateSingleLineHtml(t)}},e.prototype.generateSingleLineHtml=function(e){if(void 0===e)return"";var t=this.hoganUtils.render(baseTemplatesPath$1,"numbers",{oldNumber:e.oldNumber||"",newNumber:e.newNumber||""});return this.hoganUtils.render(genericTemplatesPath$1,"line",{type:e.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:" "===e.prefix?" ":e.prefix,content:e.content,lineNumber:t})},e}(),__assign$2=function(){return(__assign$2=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},defaultSideBySideRendererConfig=__assign$2(__assign$2({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath="generic",baseTemplatesPath="side-by-side",iconsBaseTemplatesPath="icon",tagsBaseTemplatesPath="tag",SideBySideRenderer=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=__assign$2(__assign$2({},defaultSideBySideRendererConfig),t)}return e.prototype.render=function(e){var t=this,n=e.map((function(e){var n;return n=e.blocks.length?t.generateFileHtml(e):t.generateEmptyDiff(),t.makeFileDiffHtml(e,n)})).join("\n");return this.hoganUtils.render(genericTemplatesPath,"wrapper",{content:n})},e.prototype.makeFileDiffHtml=function(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var n=this.hoganUtils.template(baseTemplatesPath,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath,"file-path"),r=this.hoganUtils.template(iconsBaseTemplatesPath,"file"),i=this.hoganUtils.template(tagsBaseTemplatesPath,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:r,fileTag:i})})},e.prototype.generateEmptyDiff=function(){return{right:"",left:this.hoganUtils.render(genericTemplatesPath,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:CSSLineClass})}},e.prototype.generateFileHtml=function(e){var t=this,n=newMatcherFn(newDistanceFn((function(t){return deconstructLine(t.content,e.isCombined).content})));return e.blocks.map((function(o){var r={left:t.makeHeaderHtml(o.header,e),right:t.makeHeaderHtml("")};return t.applyLineGroupping(o).forEach((function(o){var i=o[0],a=o[1],s=o[2];if(a.length&&s.length&&!i.length)t.applyRematchMatching(a,s,n).map((function(n){var o=n[0],i=n[1],a=t.processChangedLines(e.isCombined,o,i),s=a.left,c=a.right;r.left+=s,r.right+=c}));else if(i.length)i.forEach((function(n){var o=deconstructLine(n.content,e.isCombined),i=o.prefix,a=o.content,s=t.generateLineHtml({type:CSSLineClass.CONTEXT,prefix:i,content:a,number:n.oldNumber},{type:CSSLineClass.CONTEXT,prefix:i,content:a,number:n.newNumber}),c=s.left,l=s.right;r.left+=c,r.right+=l}));else if(a.length||s.length){var c=t.processChangedLines(e.isCombined,a,s),l=c.left,u=c.right;r.left+=l,r.right+=u}else console.error("Unknown state reached while processing groups of lines",i,a,s)})),r})).reduce((function(e,t){return{left:e.left+t.left,right:e.right+t.right}}),{left:"",right:""})},e.prototype.applyLineGroupping=function(e){for(var t=[],n=[],o=[],r=0;r<e.lines.length;r++){var i=e.lines[r];(i.type!==LineType.INSERT&&o.length||i.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),i.type===LineType.CONTEXT?t.push([[i],[],[]]):i.type===LineType.INSERT&&0===n.length?t.push([[],[],[i]]):i.type===LineType.INSERT&&n.length>0?o.push(i):i.type===LineType.DELETE&&n.push(i)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t},e.prototype.applyRematchMatching=function(e,t,n){var o=e.length*t.length,r=Math.max.apply(null,[0].concat(e.concat(t).map((function(e){return e.content.length}))));return o<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]},e.prototype.makeHeaderHtml=function(e,t){return this.hoganUtils.render(genericTemplatesPath,"block-header",{CSSLineClass:CSSLineClass,blockHeader:(null==t?void 0:t.isTooBig)?e:escapeForHtml(e),lineClass:"d2h-code-side-linenumber",contentClass:"d2h-code-side-line"})},e.prototype.processChangedLines=function(e,t,n){for(var o={right:"",left:""},r=Math.max(t.length,n.length),i=0;i<r;i++){var a=t[i],s=n[i],c=void 0!==a&&void 0!==s?diffHighlight(a.content,s.content,e,this.config):void 0,l=void 0!==a&&void 0!==a.oldNumber?__assign$2(__assign$2({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:__assign$2(__assign$2({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{number:a.oldNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?__assign$2(__assign$2({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:__assign$2(__assign$2({},deconstructLine(s.content,e)),{type:toCSSClass(s.type)})),{number:s.newNumber}):void 0,d=this.generateLineHtml(l,u),p=d.left,m=d.right;o.left+=p,o.right+=m}return o},e.prototype.generateLineHtml=function(e,t){return{left:this.generateSingleHtml(e),right:this.generateSingleHtml(t)}},e.prototype.generateSingleHtml=function(e){var t="d2h-code-side-linenumber",n="d2h-code-side-line";return this.hoganUtils.render(genericTemplatesPath,"line",{type:(null==e?void 0:e.type)||CSSLineClass.CONTEXT+" d2h-emptyplaceholder",lineClass:void 0!==e?t:t+" d2h-code-side-emptyplaceholder",contentClass:void 0!==e?n:n+" d2h-code-side-emptyplaceholder",prefix:" "===(null==e?void 0:e.prefix)?" ":null==e?void 0:e.prefix,content:null==e?void 0:e.content,lineNumber:null==e?void 0:e.number})},e}(),compiler={};!function(e){!function(e){var t=/\S/,n=/\"/g,o=/\n/g,r=/\r/g,i=/\\/g,a=/\u2028/,s=/\u2029/;function c(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function l(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function u(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var o=1,r=e.length;o<r;o++)if(t.charAt(n+o)!=e.charAt(o))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,o){var r=n.length,i=0,a=null,s=null,d="",p=[],m=!1,h=0,f=0,g="{{",_="}}";function $(){d.length>0&&(p.push({tag:"_t",text:new String(d)}),d="")}function b(n,o){if($(),n&&function(){for(var n=!0,o=f;o<p.length;o++)if(!(n=e.tags[p[o].tag]<e.tags._v||"_t"==p[o].tag&&null===p[o].text.match(t)))return!1;return n}())for(var r,i=f;i<p.length;i++)p[i].text&&((r=p[i+1])&&">"==r.tag&&(r.indent=p[i].text.toString()),p.splice(i,1));else o||p.push({tag:"\n"});m=!1,f=p.length}function v(e,t){var n="="+_,o=e.indexOf(n,t),r=l(e.substring(e.indexOf("=",t)+1,o)).split(" ");return g=r[0],_=r[r.length-1],o+n.length-1}for(o&&(o=o.split(" "),g=o[0],_=o[1]),h=0;h<r;h++)0==i?u(g,n,h)?(--h,$(),i=1):"\n"==n.charAt(h)?b(m):d+=n.charAt(h):1==i?(h+=g.length-1,"="==(a=(s=e.tags[n.charAt(h+1)])?n.charAt(h+1):"_v")?(h=v(n,h),i=0):(s&&h++,i=2),m=h):u(_,n,h)?(p.push({tag:a,n:l(d),otag:g,ctag:_,i:"/"==a?m-g.length:h+_.length}),d="",h+=_.length-1,i=0,"{"==a&&("}}"==_?h++:c(p[p.length-1]))):d+=n.charAt(h);return b(m,!0),p};var d={_t:!0,"\n":!0,$:!0,"/":!0};function p(t,n,o,r){var i,a=[],s=null,c=null;for(i=o[o.length-1];t.length>0;){if(c=t.shift(),i&&"<"==i.tag&&!(c.tag in d))throw new Error("Illegal content in < super tag.");if(e.tags[c.tag]<=e.tags.$||m(c,r))o.push(c),c.nodes=p(t,c.tag,o,r);else{if("/"==c.tag){if(0===o.length)throw new Error("Closing tag without opener: /"+c.n);if(s=o.pop(),c.n!=s.n&&!h(c.n,s.n,r))throw new Error("Nesting error: "+s.n+" vs. "+c.n);return s.end=c.i,a}"\n"==c.tag&&(c.last=0==t.length||"\n"==t[0].tag)}a.push(c)}if(o.length>0)throw new Error("missing closing tag: "+o.pop().n);return a}function m(e,t){for(var n=0,o=t.length;n<o;n++)if(t[n].o==e.n)return e.tag="#",!0}function h(e,t,n){for(var o=0,r=n.length;o<r;o++)if(n[o].c==e&&n[o].o==t)return!0}function f(e){var t=[];for(var n in e.partials)t.push('"'+_(n)+'":{name:"'+_(e.partials[n].name)+'", '+f(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+_(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,o){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+f(t)+"}"};var g=0;function _(e){return e.replace(i,"\\\\").replace(n,'\\"').replace(o,"\\n").replace(r,"\\r").replace(a,"\\u2028").replace(s,"\\u2029")}function $(e){return~e.indexOf(".")?"d":"f"}function b(e,t){var n="<"+(t.prefix||"")+e.n+g++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+_(n)+'",c,p,"'+(e.indent||"")+'"));',n}function v(e,t){t.code+="t.b(t.t(t."+$(e.n)+'("'+_(e.n)+'",c,p,0)));'}function y(e){return"t.b("+e+");"}e.generate=function(t,n,o){g=0;var r={code:"",subs:{},partials:{}};return e.walk(t,r),o.asString?this.stringify(r,n,o):this.makeTemplate(r,n,o)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var o=this.makePartials(e);return o.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(o,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+$(t.n)+'("'+_(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+$(t.n)+'("'+_(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":b,"<":function(t,n){var o={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,o);var r=n.partials[b(t,n)];r.subs=o.subs,r.partials=o.partials},$:function(t,n){var o={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,o),n.subs[t.n]=o.code,n.inPartial||(n.code+='t.sub("'+_(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=y('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+$(e.n)+'("'+_(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=y('"'+_(e.text)+'"')},"{":v,"&":v},e.walk=function(t,n){for(var o,r=0,i=t.length;r<i;r++)(o=e.codegen[t[r].tag])&&o(t[r],n);return n},e.parse=function(e,t,n){return p(e,0,[],(n=n||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var o=e.cacheKey(t,n),r=this.cache[o];if(r){var i=r.partials;for(var a in i)delete i[a].instance;return r}return r=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[o]=r}}(e)}(compiler);var template={};!function(e){!function(e){function t(e,t,n){var o;return t&&"object"==typeof t&&(void 0!==t[e]?o=t[e]:n&&t.get&&"function"==typeof t.get&&(o=t.get(e))),o}e.Template=function(e,t,n,o){e=e||{},this.r=e.code||this.r,this.c=n,this.options=o||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=c(e),s.test(e)?e.replace(n,"&").replace(o,"<").replace(r,">").replace(i,"'").replace(a,"""):e},t:c,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],o=t[n.name];if(n.instance&&n.base==o)return n.instance;if("string"==typeof o){if(!this.c)throw new Error("No compiler available.");o=this.c.compile(o,this.options)}if(!o)return null;if(this.partials[e].base=o,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);o=function(e,t,n,o,r,i){function a(){}function s(){}var c;a.prototype=e,s.prototype=e.subs;var l=new a;for(c in l.subs=new s,l.subsText={},l.buf="",o=o||{},l.stackSubs=o,l.subsText=i,t)o[c]||(o[c]=t[c]);for(c in o)l.subs[c]=o[c];for(c in r=r||{},l.stackPartials=r,n)r[c]||(r[c]=n[c]);for(c in r)l.partials[c]=r[c];return l}(o,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=o,o},rp:function(e,t,n,o){var r=this.ep(e,n);return r?r.ri(t,n,o):""},rs:function(e,t,n){var o=e[e.length-1];if(l(o))for(var r=0;r<o.length;r++)e.push(o[r]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,o,r,i,a){var s;return(!l(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,o,r,i,a)),s=!!e,!o&&s&&t&&t.push("object"==typeof e?e:t[t.length-1]),s)},d:function(e,n,o,r){var i,a=e.split("."),s=this.f(a[0],n,o,r),c=this.options.modelGet,u=null;if("."===e&&l(n[n.length-2]))s=n[n.length-1];else for(var d=1;d<a.length;d++)void 0!==(i=t(a[d],s,c))?(u=s,s=i):s="";return!(r&&!s)&&(r||"function"!=typeof s||(n.push(u),s=this.mv(s,n,o),n.pop()),s)},f:function(e,n,o,r){for(var i=!1,a=!1,s=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(i=t(e,n[c],s))){a=!0;break}return a?(r||"function"!=typeof i||(i=this.mv(i,n,o)),i):!r&&""},ls:function(e,t,n,o,r){var i=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(c(e.call(t,o)),t,n)),this.options.delimiters=i,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,o,r,i,a){var s,c=t[t.length-1],l=e.call(c);return"function"==typeof l?!!o||(s=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(l,c,n,s.substring(r,i),a)):l},mv:function(e,t,n){var o=t[t.length-1],r=e.call(o);return"function"==typeof r?this.ct(c(r.call(o)),o,n):r},sub:function(e,t,n,o){var r=this.subs[e];r&&(this.activeSub=e,r(t,n,this,o),this.activeSub=!1)}};var n=/&/g,o=/</g,r=/>/g,i=/\'/g,a=/\"/g,s=/[&<>\"\']/;function c(e){return String(null==e?"":e)}var l=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(e)}(template);var Hogan=compiler;Hogan.Template=template.Template,Hogan.template=Hogan.Template;var hogan=Hogan,defaultTemplates={};defaultTemplates["file-summary-line"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<li class="d2h-file-list-line">'),o.b("\n"+n),o.b(' <span class="d2h-file-name-wrapper">'),o.b("\n"+n),o.b(o.rp("<fileIcon0",e,t," ")),o.b(' <a href="#'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-name">'),o.b(o.v(o.f("fileName",e,t,0))),o.b("</a>"),o.b("\n"+n),o.b(' <span class="d2h-file-stats">'),o.b("\n"+n),o.b(' <span class="d2h-lines-added">'),o.b(o.v(o.f("addedLines",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(' <span class="d2h-lines-deleted">'),o.b(o.v(o.f("deletedLines",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(" </span>"),o.b("\n"+n),o.b(" </span>"),o.b("\n"+n),o.b("</li>"),o.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}}},subs:{}}),defaultTemplates["file-summary-wrapper"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="d2h-file-list-wrapper">'),o.b("\n"+n),o.b(' <div class="d2h-file-list-header">'),o.b("\n"+n),o.b(' <span class="d2h-file-list-title">Files changed ('),o.b(o.v(o.f("filesNumber",e,t,0))),o.b(")</span>"),o.b("\n"+n),o.b(' <a class="d2h-file-switch d2h-hide">hide</a>'),o.b("\n"+n),o.b(' <a class="d2h-file-switch d2h-show">show</a>'),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <ol class="d2h-file-list">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("files",e,t,0))),o.b("\n"+n),o.b(" </ol>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-block-header"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("lineClass",e,t,0))),o.b(" "),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('"></td>'),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b(o.t(o.f("blockHeader",e,t,0))),o.b("</div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-empty-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" File without changes"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-file-path"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-file-name-wrapper">'),o.b("\n"+n),o.b(o.rp("<fileIcon0",e,t," ")),o.b(' <span class="d2h-file-name">'),o.b(o.v(o.f("fileDiffName",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(o.rp("<fileTag1",e,t," ")),o.b("</span>"),o.b("\n"+n),o.b('<label class="d2h-file-collapse">'),o.b("\n"+n),o.b(' <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">'),o.b("\n"+n),o.b(" Viewed"),o.b("\n"+n),o.b("</label>"),o.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}},"<fileTag1":{name:"fileTag",partials:{},subs:{}}},subs:{}}),defaultTemplates["generic-line"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("lineClass",e,t,0))),o.b(" "),o.b(o.v(o.f("type",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("lineNumber",e,t,0))),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("type",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b("\n"+n),o.s(o.f("prefix",e,t,1),e,t,0,162,238,"{{ }}")&&(o.rs(e,t,(function(e,t,o){o.b(' <span class="d2h-code-line-prefix">'),o.b(o.t(o.f("prefix",e,t,0))),o.b("</span>"),o.b("\n"+n)})),e.pop()),o.s(o.f("prefix",e,t,1),e,t,1,0,0,"")||(o.b(' <span class="d2h-code-line-prefix"> </span>'),o.b("\n"+n)),o.s(o.f("content",e,t,1),e,t,0,371,445,"{{ }}")&&(o.rs(e,t,(function(e,t,o){o.b(' <span class="d2h-code-line-ctn">'),o.b(o.t(o.f("content",e,t,0))),o.b("</span>"),o.b("\n"+n)})),e.pop()),o.s(o.f("content",e,t,1),e,t,1,0,0,"")||(o.b(' <span class="d2h-code-line-ctn"><br></span>'),o.b("\n"+n)),o.b(" </div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-wrapper"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="d2h-wrapper">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("content",e,t,0))),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-added"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16"'),o.b("\n"+n),o.b(' width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-changed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-deleted"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM11 9H3V7h8v2z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-renamed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-moved" height="16" title="renamed" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M6 9H3V7h3V4l5 4-5 4V9z m8-7v12c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h12c0.55 0 1 0.45 1 1z m-1 0H1v12h12V2z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">'),o.b("\n"+n),o.b(' <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["line-by-line-file-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div id="'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-wrapper" data-lang="'),o.b(o.v(o.d("file.language",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-header">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("filePath",e,t,0))),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-file-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("diffs",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["line-by-line-numbers"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="line-num1">'),o.b(o.v(o.f("oldNumber",e,t,0))),o.b("</div>"),o.b("\n"+n),o.b('<div class="line-num2">'),o.b(o.v(o.f("newNumber",e,t,0))),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["side-by-side-file-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div id="'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-wrapper" data-lang="'),o.b(o.v(o.d("file.language",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-header">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("filePath",e,t,0))),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-files-diff">'),o.b("\n"+n),o.b(' <div class="d2h-file-side-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.d("diffs.left",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-file-side-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.d("diffs.right",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-added"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-added d2h-added-tag">ADDED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-changed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-deleted"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-deleted d2h-deleted-tag">DELETED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-renamed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-moved d2h-moved-tag">RENAMED</span>'),o.fl()},partials:{},subs:{}});var __assign$1=function(){return(__assign$1=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},HoganJsUtils=function(){function e(e){var t=e.compiledTemplates,n=void 0===t?{}:t,o=e.rawTemplates,r=void 0===o?{}:o,i=Object.entries(r).reduce((function(e,t){var n,o=t[0],r=t[1],i=hogan.compile(r,{asString:!1});return __assign$1(__assign$1({},e),((n={})[o]=i,n))}),{});this.preCompiledTemplates=__assign$1(__assign$1(__assign$1({},defaultTemplates),n),i)}return e.compile=function(e){return hogan.compile(e,{asString:!1})},e.prototype.render=function(e,t,n,o,r){var i=this.templateKey(e,t);try{return this.preCompiledTemplates[i].render(n,o,r)}catch(e){throw new Error("Could not find template to render '"+i+"'")}},e.prototype.template=function(e,t){return this.preCompiledTemplates[this.templateKey(e,t)]},e.prototype.templateKey=function(e,t){return e+"-"+t},e}(),__assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},defaultDiff2HtmlConfig=__assign(__assign(__assign({},defaultLineByLineRendererConfig),defaultSideBySideRendererConfig),{outputFormat:OutputFormatType.LINE_BY_LINE,drawFileList:!0});function parse(e,t){return void 0===t&&(t={}),parse$1(e,__assign(__assign({},defaultDiff2HtmlConfig),t))}function html(e,t){void 0===t&&(t={});var n=__assign(__assign({},defaultDiff2HtmlConfig),t),o="string"==typeof e?parse$1(e,n):e,r=new HoganJsUtils(n);return(n.drawFileList?render(o,r):"")+("side-by-side"===n.outputFormat?new SideBySideRenderer(r,n).render(o):new LineByLineRenderer(r,n).render(o))}function create_fragment$1C(e){let t;return{c(){t=element("div"),attr(t,"class","root svelte-ym7rtz")},m(n,o){insert(n,t,o),t.innerHTML=e[0]},p(e,[n]){1&n&&(t.innerHTML=e[0])},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$1A(e,t,n){let o,r,i,{leftText:a}=t,{rightText:s}=t,{leftTitle:c}=t,{rightTitle:l}=t;return e.$$set=e=>{"leftText"in e&&n(1,a=e.leftText),"rightText"in e&&n(2,s=e.rightText),"leftTitle"in e&&n(3,c=e.leftTitle),"rightTitle"in e&&n(4,l=e.rightTitle)},e.$$.update=()=>{30&e.$$.dirty&&n(6,o=createTwoFilesPatch(c,l,a,s,"","")),64&e.$$.dirty&&n(5,r=parse(o)),32&e.$$.dirty&&n(0,i=html(r,{drawFileList:!1}))},[i,a,s,c,l,r,o]}class DiffView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1A,create_fragment$1C,safe_not_equal,{leftText:1,rightText:2,leftTitle:3,rightTitle:4})}}function create_if_block$J(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot$C]},$$scope:{ctx:e}}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};187&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$C(e){let t,n,o,r,i,a,s,c,l,u;return t=new FontIcon({props:{icon:e[0]}}),l=new FontIcon({props:{icon:e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"}}),{c(){create_component(t.$$.fragment),n=space(),o=element("span"),r=text$1(e[1]),i=text$1(" ("),a=text$1(e[4]),s=text$1(")"),c=space(),create_component(l.$$.fragment),attr(o,"class","switch svelte-1muj49d")},m(e,d){mount_component(t,e,d),insert(e,n,d),insert(e,o,d),append(o,r),append(o,i),append(o,a),append(o,s),insert(e,c,d),mount_component(l,e,d),u=!0},p(e,n){const o={};1&n&&(o.icon=e[0]),t.$set(o),(!u||2&n)&&set_data(r,e[1]),(!u||16&n)&&set_data(a,e[4]);const i={};40&n&&(i.icon=e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"),l.$set(i)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1B(e){let t,n,o=e[4]>0&&create_if_block$J(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[4]>0?o?(o.p(e,n),16&n&&transition_in(o,1)):(o=create_if_block$J(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$1z(e,t,n){let o,r=noop$3,i=()=>(r(),r=subscribe(c,(e=>n(5,o=e))),c);e.$$.on_destroy.push((()=>r()));let{icon:a}=t,{label:s}=t,{values:c}=t;i();let{field:l}=t,{count:u}=t;return e.$$set=e=>{"icon"in e&&n(0,a=e.icon),"label"in e&&n(1,s=e.label),"values"in e&&i(n(2,c=e.values)),"field"in e&&n(3,l=e.field),"count"in e&&n(4,u=e.count)},[a,s,c,l,u,o,()=>{set_store_value(c,o={...o,[l]:!o[l]},o)}]}class RowsFilterSwitcher extends SvelteComponent{constructor(e){super(),init(this,e,instance$1z,create_fragment$1B,safe_not_equal,{icon:0,label:1,values:2,field:3,count:4})}}function create_fragment$1A(e){let t,n;const o=[e[2],{options:e[0]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=5&n?get_spread_update(o,[4&n&&get_spread_object(e[2]),1&n&&{options:e[0]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1y(e,t,n){let o,r;const i=["allowChooseModel","direction"];let a,s=compute_rest_props(t,i),c=noop$3;e.$$.on_destroy.push((()=>c()));let{allowChooseModel:l=!1}=t,{direction:u}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,s=compute_rest_props(t,i)),"allowChooseModel"in e&&n(3,l=e.allowChooseModel),"direction"in e&&n(4,u=e.direction)},e.$$.update=()=>{56&e.$$.dirty&&n(0,r=[...l?[{label:"(DB Model)",value:"__model"}]:[],..._.sortBy((a||[]).filter((e=>"target"!=u||!e.isReadOnly)).map((e=>({value:e._id,label:getConnectionLabel(e)}))),"label")])},n(1,o=useConnectionList()),c(),c=subscribe(o,(e=>n(5,a=e))),[r,o,s,l,u,a]}class FormConnectionSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1y,create_fragment$1A,safe_not_equal,{allowChooseModel:3,direction:4})}}function create_fragment$1z(e){let t,n;const o=[e[3],{options:e[0]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1x(e,t,n){let o,r;const i=["conidName"];let a,s,c=compute_rest_props(t,i),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t;const{values:d}=getFormContext();return component_subscribe(e,d,(e=>n(6,s=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,c=compute_rest_props(t,i)),"conidName"in e&&n(4,u=e.conidName)},e.$$.update=()=>{80&e.$$.dirty&&(n(1,o=useDatabaseList({conid:s&&s[u]})),l(),l=subscribe(o,(e=>n(5,a=e)))),32&e.$$.dirty&&n(0,r=_.sortBy((a||[]).map((e=>({value:e.name,label:e.name}))),"label"))},[r,o,d,c,u,a,s]}class FormDatabaseSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1x,create_fragment$1z,safe_not_equal,{conidName:4})}}function get_each_context$h(e,t,n){const o=e.slice();return o[46]=t[n],o}function create_else_block$k(e){let t,n;return t=new FormDatabaseSelect({props:{conidName:"sourceConid",name:"sourceDatabase",label:"Source database",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$I(e){let t,n;return t=new FormSelectField({props:{name:"sourceDatabase",label:"Source DB model",templateProps:{noMargin:!0},isNative:!0,options:(e[13]||[]).map(func$6),notSelected:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8192&n[0]&&(o.options=(e[13]||[]).map(func$6)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$a(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon arrow-right-bold"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n Deploy (experimental)"),attr(t,"class","arrow svelte-lmwisg")},m(e,i){insert(e,t,i),mount_component(n,t,null),insert(e,o,i),r=!0},p:noop$3,i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(o)}}}function create_each_block$h(e){let t,n;function o(...t){return e[36](e[46],...t)}return t=new RowsFilterSwitcher({props:{icon:lib$4.DbDiffCompareDefs[e[46]].icon,label:lib$4.DbDiffCompareDefs[e[46]].plural,values:e[15],field:"hide_"+e[46],count:filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};96&r[0]&&(i.count=filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$h(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,$,b,v,y,x,w,C,k,S,T,E,A,D,N;o=new FormConnectionSelect({props:{name:"sourceConid",label:"Source server",templateProps:{noMargin:!0},isNative:!0,allowChooseModel:!0,notSelected:!0}});const I=[create_if_block$I,create_else_block$k],R=[];function O(e,t){return"__model"==e[6]?.sourceConid?0:1}function F(t){e[35](t)}a=O(e),s=R[a]=I[a](e),u=new InlineButton({props:{$$slots:{default:[create_default_slot_3$a]},$$scope:{ctx:e}}}),u.$on("click",e[0]),m=new FormConnectionSelect({props:{name:"targetConid",label:"Target server",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}}),g=new FormDatabaseSelect({props:{conidName:"targetConid",name:"targetDatabase",label:"Target database",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}});let M={placeholder:"Search tables or objects"};void 0!==e[2]&&(M.value=e[2]),v=new SearchInput({props:M}),binding_callbacks.push((()=>bind(v,"value",F))),w=new RowsFilterSwitcher({props:{icon:"img add",label:"Added",values:e[15],field:"hideAdded",count:filterDiffRowsByFlag(e[5].filter(func_1$5),e[6],"added").length}}),k=new RowsFilterSwitcher({props:{icon:"img minus",label:"Removed",values:e[15],field:"hideRemoved",count:filterDiffRowsByFlag(e[5].filter(func_2$4),e[6],"removed").length}}),T=new RowsFilterSwitcher({props:{icon:"img changed",label:"Changed",values:e[15],field:"hideChanged",count:filterDiffRowsByFlag(e[5].filter(func_3$1),e[6],"changed").length}}),A=new RowsFilterSwitcher({props:{icon:"img equal",label:"Equal",values:e[15],field:"hideEqual",count:filterDiffRowsByFlag(e[5].filter(func_4),e[6],"equal").length}});let L=_.keys(lib$4.DbDiffCompareDefs),P=[];for(let t=0;t<L.length;t+=1)P[t]=create_each_block$h(get_each_context$h(e,L,t));const j=e=>transition_out(P[e],1,1,(()=>{P[e]=null}));return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),s.c(),c=space(),l=element("div"),create_component(u.$$.fragment),d=space(),p=element("div"),create_component(m.$$.fragment),h=space(),f=element("div"),create_component(g.$$.fragment),$=space(),b=element("div"),create_component(v.$$.fragment),x=space(),create_component(w.$$.fragment),C=space(),create_component(k.$$.fragment),S=space(),create_component(T.$$.fragment),E=space(),create_component(A.$$.fragment),D=space();for(let e=0;e<P.length;e+=1)P[e].c();attr(n,"class","col-3"),attr(i,"class","col-3"),attr(l,"class","deployButton svelte-lmwisg"),attr(p,"class","col-3"),attr(f,"class","col-3"),attr(t,"class","topbar svelte-lmwisg"),attr(b,"class","filters svelte-lmwisg")},m(e,s){insert(e,t,s),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),R[a].m(i,null),append(t,c),append(t,l),mount_component(u,l,null),append(t,d),append(t,p),mount_component(m,p,null),append(t,h),append(t,f),mount_component(g,f,null),insert(e,$,s),insert(e,b,s),mount_component(v,b,null),append(b,x),mount_component(w,b,null),append(b,C),mount_component(k,b,null),append(b,S),mount_component(T,b,null),append(b,E),mount_component(A,b,null),append(b,D);for(let e=0;e<P.length;e+=1)P[e].m(b,null);N=!0},p(e,t){let n=a;a=O(e),a===n?R[a].p(e,t):(group_outros(),transition_out(R[n],1,1,(()=>{R[n]=null})),check_outros(),s=R[a],s?s.p(e,t):(s=R[a]=I[a](e),s.c()),transition_in(s,1),s.m(i,null));const o={};262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),u.$set(o);const r={};!y&&4&t[0]&&(y=!0,r.value=e[2],add_flush_callback((()=>y=!1))),v.$set(r);const c={};96&t[0]&&(c.count=filterDiffRowsByFlag(e[5].filter(func_1$5),e[6],"added").length),w.$set(c);const l={};96&t[0]&&(l.count=filterDiffRowsByFlag(e[5].filter(func_2$4),e[6],"removed").length),k.$set(l);const d={};96&t[0]&&(d.count=filterDiffRowsByFlag(e[5].filter(func_3$1),e[6],"changed").length),T.$set(d);const p={};if(96&t[0]&&(p.count=filterDiffRowsByFlag(e[5].filter(func_4),e[6],"equal").length),A.$set(p),32864&t[0]){let n;for(L=_.keys(lib$4.DbDiffCompareDefs),n=0;n<L.length;n+=1){const o=get_each_context$h(e,L,n);P[n]?(P[n].p(o,t),transition_in(P[n],1)):(P[n]=create_each_block$h(o),P[n].c(),transition_in(P[n],1),P[n].m(b,null))}for(group_outros(),n=L.length;n<P.length;n+=1)j(n);check_outros()}},i(e){if(!N){transition_in(o.$$.fragment,e),transition_in(s),transition_in(u.$$.fragment,e),transition_in(m.$$.fragment,e),transition_in(g.$$.fragment,e),transition_in(v.$$.fragment,e),transition_in(w.$$.fragment,e),transition_in(k.$$.fragment,e),transition_in(T.$$.fragment,e),transition_in(A.$$.fragment,e);for(let e=0;e<L.length;e+=1)transition_in(P[e]);N=!0}},o(e){transition_out(o.$$.fragment,e),transition_out(s),transition_out(u.$$.fragment,e),transition_out(m.$$.fragment,e),transition_out(g.$$.fragment,e),transition_out(v.$$.fragment,e),transition_out(w.$$.fragment,e),transition_out(k.$$.fragment,e),transition_out(T.$$.fragment,e),transition_out(A.$$.fragment,e),P=P.filter(Boolean);for(let e=0;e<P.length;e+=1)transition_out(P[e]);N=!1},d(e){e&&detach(t),destroy_component(o),R[a].d(),destroy_component(u),destroy_component(m),destroy_component(g),e&&detach($),e&&detach(b),destroy_component(v),destroy_component(w),destroy_component(k),destroy_component(T),destroy_component(A),destroy_each(P,e)}}}function create__1_slot_3(e){let t,n,o,r,i;function a(...t){return e[37](e[45],...t)}return{c(){t=element("input"),attr(t,"type","checkbox"),attr(t,"slot","1"),t.disabled=n="equal"==e[45].state,t.checked=o=!!e[6][`isChecked_${e[45].identifier}`]},m(e,n){insert(e,t,n),r||(i=listen(t,"change",a),r=!0)},p(r,i){e=r,16384&i[1]&&n!==(n="equal"==e[45].state)&&(t.disabled=n),64&i[0]|16384&i[1]&&o!==(o=!!e[6][`isChecked_${e[45].identifier}`])&&(t.checked=o)},d(e){e&&detach(t),r=!1,i()}}}function create_default_slot_1$o(e){let t,n;return t=new FontIcon({props:{icon:"icon check-all"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_3(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot_1$o]},$$scope:{ctx:e}}}),t.$on("click",e[14]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot_1(e){let t,n,o,r,i=e[45].typeName+"";return t=new FontIcon({props:{icon:e[45].typeIcon}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(i)},m(e,i){mount_component(t,e,i),insert(e,n,i),insert(e,o,i),r=!0},p(e,n){const a={};16384&n[1]&&(a.icon=e[45].typeIcon),t.$set(a),(!r||16384&n[1])&&i!==(i=e[45].typeName+"")&&set_data(o,i)},i(e){r||(transition_in(t.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__1_slot_2(e){let t,n,o,r,i,a,s;function c(t){e[38](t)}n=new FormProviderCore({props:{values:e[15],$$slots:{default:[create_default_slot_2$h]},$$scope:{ctx:e}}});let l={rows:e[4],selectable:!0,disableFocusOutline:!0,columns:[{fieldName:"isChecked",header:"",width:"50px",slot:1,headerSlot:2},{fieldName:"type",header:"Type",width:"100px",slot:3},{fieldName:"sourceSchemaName",header:"Schema"},{fieldName:"sourcePureName",header:"Name"},{fieldName:"state",header:"Action",width:"100px"},{fieldName:"targetSchemaName",header:"Schema"},{fieldName:"targetPureName",header:"Name"}],$$slots:{3:[create__3_slot_1,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]],2:[create__2_slot_3],1:[create__1_slot_3,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]]},$$scope:{ctx:e}};return void 0!==e[1]&&(l.selectedIndex=e[1]),i=new ScrollableTableControl({props:l}),binding_callbacks.push((()=>bind(i,"selectedIndex",c))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),attr(r,"class","tableWrapper svelte-lmwisg"),attr(t,"slot","1"),attr(t,"class","flexcol svelte-lmwisg")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),s=!0},p(e,t){const o={};8292&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};16&t[0]&&(r.rows=e[4]),64&t[0]|278528&t[1]&&(r.$$scope={dirty:t,ctx:e}),!a&&2&t[0]&&(a=!0,r.selectedIndex=e[1],add_flush_callback((()=>a=!1))),i.$set(r)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i)}}}function create__1_slot_1(e){let t,n;return t=new DiffView({props:{leftTitle:e[4][e[1]]?.target?.pureName,rightTitle:e[4][e[1]]?.source?.pureName,leftText:lib$4.getCreateObjectScript(e[4][e[1]]?.target,e[3]),rightText:lib$4.getCreateObjectScript(e[4][e[1]]?.source,e[3])}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};18&n[0]&&(o.leftTitle=e[4][e[1]]?.target?.pureName),18&n[0]&&(o.rightTitle=e[4][e[1]]?.source?.pureName),26&n[0]&&(o.leftText=lib$4.getCreateObjectScript(e[4][e[1]]?.target,e[3])),26&n[0]&&(o.rightText=lib$4.getCreateObjectScript(e[4][e[1]]?.source,e[3])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_2(e){let t,n;return t=new SqlEditor({props:{readOnly:!0,value:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n[0]&&(o.value=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$3(e){let t,n;return{c(){t=element("input"),attr(t,"type","checkbox"),t.disabled=!0,attr(t,"slot","1"),t.checked=n=!!e[45].sourceNotNull},m(e,n){insert(e,t,n)},p(e,o){16384&o[1]&&n!==(n=!!e[45].sourceNotNull)&&(t.checked=n)},d(e){e&&detach(t)}}}function create__2_slot_1(e){let t,n;return{c(){t=element("input"),attr(t,"type","checkbox"),t.disabled=!0,attr(t,"slot","2"),t.checked=n=!!e[45].targetNotNull},m(e,n){insert(e,t,n)},p(e,o){16384&o[1]&&n!==(n=!!e[45].targetNotNull)&&(t.checked=n)},d(e){e&&detach(t)}}}function create__3_slot(e){let t,n;return t=new ScrollableTableControl({props:{rows:e[9],disableFocusOutline:!0,columns:[{fieldName:"sourceColumnName",header:"Name",width:"100px"},{fieldName:"sourceDataType",header:"Type"},{fieldName:"sourceNotNull",header:"Not null",slot:1},{fieldName:"state",header:"Action",width:"100px"},{fieldName:"targetColumnName",header:"Schema"},{fieldName:"targetDataType",header:"Name"},{fieldName:"targetNotNull",header:"Not null",slot:2}],$$slots:{2:[create__2_slot_1,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]],1:[create__1_slot$3,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n[0]&&(o.rows=e[9]),278528&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$3(e){let t,n;return t=new TabControl({props:{tabs:[{label:"DDL",slot:1},{label:"Synchronize script",slot:2},{label:"Columns",slot:3}],$$slots:{3:[create__3_slot],2:[create__2_slot_2],1:[create__1_slot_1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};794&n[0]|262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$B(e){let t,n,o,r,i;return n=new VerticalSplitter({props:{$$slots:{2:[create__2_slot$3],1:[create__1_slot_2]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-lmwisg")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=action_destroyer(contextMenu.call(null,t,e[16])),r=!0)},p(e,t){const o={};9086&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_toolstrip_slot$2(e){let t,n,o,r,i,a,s,c;return t=new ToolStripCommandButton({props:{command:"compareModels.reportDiff"}}),o=new ToolStripCommandButton({props:{command:"compareModels.swap"}}),i=new ToolStripCommandButton({props:{command:"compareModels.deploy"}}),s=new ToolStripCommandButton({props:{command:"compareModels.refresh"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p:noop$3,i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_fragment$1y(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$2],default:[create_default_slot$B]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9086&n[0]|262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$2=()=>getActiveComponent("CompareModelTab");function stateOrder(e){switch(e){case"added":return 1;case"changed":return 2;case"removed":return 3;case"equal":return 4}return 5}function getAlterObjectScript(e,t,n,o,r,i){if(!t&&!n||!i)return{sql:""};if("tables"==e)return lib$4.getAlterTableScript(t,n,o,r,r,i);const a=i.createDumper();return t&&a.dropSqlObject(t),n&&a.createSqlObject(n),{sql:a.s}}function filterDiffRowsByFlag(e,t,n=null){let o=e;"added"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideAdded)||"added"!=e.state))),"removed"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideRemoved)||"removed"!=e.state))),"changed"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideChanged)||"changed"!=e.state))),"equal"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideEqual)||"equal"!=e.state)));for(const e of _.keys(lib$4.DbDiffCompareDefs))n!=e&&t&&t[`hide_${e}`]&&(o=o.filter((t=>t.objectTypeField!=e)));return o}function filterDiffRows(e,t,n){let o=e.filter((e=>lib$4.filterName(n,e.sourcePureName,e.targetPureName)));return o=filterDiffRowsByFlag(e,t),o}registerCommand({id:"compareModels.reportDiff",category:"Compare models",toolbarName:"Report",name:"Report diff",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$2().showReport(),testEnabled:()=>null!=getCurrentEditor$2()}),registerCommand({id:"compareModels.swap",category:"Compare models",toolbarName:"Swap",name:"Swap source & target",icon:"icon swap",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$2().swap(),testEnabled:()=>null!=getCurrentEditor$2()}),registerCommand({id:"compareModels.deploy",category:"Compare models",toolbarName:"Deploy",name:"Deploy",icon:"icon deploy",group:"save",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$2().deploy(),testEnabled:()=>null!=getCurrentEditor$2()}),registerCommand({id:"compareModels.refresh",category:"Compare models",toolbarName:"Refresh",name:"Refresh models",icon:"icon reload",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$2().refreshModels(),testEnabled:()=>null!=getCurrentEditor$2()});const func$6=e=>({label:e.name,value:`archive:${e.name}`}),func_1$5=e=>"added"==e.state,func_2$4=e=>"removed"==e.state,func_3$1=e=>"changed"==e.state,func_4=e=>"equal"==e.state;function instance$1w(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f,g,$,b,v,y,x,w=noop$3,C=noop$3,k=noop$3,S=noop$3;component_subscribe(e,extensions,(e=>n(31,$=e))),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k())),e.$$.on_destroy.push((()=>S()));var T,E,A,D,N,I=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:R}=t,O=0,F="";const M=createActivator("CompareModelTab",!0);const{editorState:L,editorValue:P,setEditorData:j}=useEditorData({tabid:R}),B=Object.assign(Object.assign({},P),{update:j,set:j});component_subscribe(e,B,(e=>n(6,g=e))),registerMenu({command:"compareModels.deploy"},{divider:!0},{command:"compareModels.refresh"},{command:"compareModels.swap"},{divider:!0},{command:"compareModels.reportDiff"});const q=getContextMenu();return e.$$set=e=>{"tabid"in e&&n(17,R=e.tabid)},e.$$.update=()=>{64&e.$$.dirty[0]&&n(29,o="__model"==(null==g?void 0:g.sourceConid)?lib$4.modelCompareDbDiffOptions:{}),64&e.$$.dirty[0]&&(n(12,r=useDatabaseInfo({conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})),k(),k=subscribe(r,(e=>n(34,y=e)))),64&e.$$.dirty[0]&&(n(11,i=useDatabaseInfo({conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})),C(),C=subscribe(i,(e=>n(33,v=e)))),8&e.$$.dirty[1]&&n(27,a=lib$4.generateDbPairingId(y)),4&e.$$.dirty[1]&&n(28,s=lib$4.generateDbPairingId(v)),64&e.$$.dirty[0]&&(n(10,c=useConnectionInfo({conid:null==g?void 0:g.targetConid})),w(),w=subscribe(c,(e=>n(32,b=e)))),3&e.$$.dirty[1]&&n(3,l=lib$4.findEngineDriver(b,$)),939524096&e.$$.dirty[0]&&n(30,u=lib$4.matchPairedObjects(a,s,o)),1744830472&e.$$.dirty[0]&&n(5,d=_.sortBy(lib$4.computeDbDiffRows(a,u,o,l),(e=>stateOrder(e.state)))),100&e.$$.dirty[0]&&n(4,p=filterDiffRows(d,g,F)),549453850&e.$$.dirty[0]&&n(9,m=lib$4.computeTableDiffColumns(null===n(22,T=p[O])||void 0===T?void 0:T.source,null===n(23,E=p[O])||void 0===E?void 0:E.target,o,l)),922746906&e.$$.dirty[0]&&n(8,h=getAlterObjectScript(null===n(24,A=p[O])||void 0===A?void 0:A.objectTypeField,null===n(25,D=p[O])||void 0===D?void 0:D.target,null===n(26,N=p[O])||void 0===N?void 0:N.source,o,s,l).sql),131136&e.$$.dirty[0]&&changeTab(R,(e=>Object.assign(Object.assign({},e),{title:`${(null==g?void 0:g.sourceDatabase)||"???"}=>${(null==g?void 0:g.targetDatabase)||"???"}`,props:Object.assign(Object.assign({},e.props),{conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})})))},n(7,f=useArchiveFolders()),S(),S=subscribe(f,(e=>n(13,x=e))),[function(){const e=function(){const e=lib$4.DatabaseAnalyser.createEmptyStructure(),t=lib$4.DatabaseAnalyser.createEmptyStructure();for(const n of p.filter((e=>g[`isChecked_${e.identifier}`])))n.source&&e[n.objectTypeField].push(n.source),n.target&&t[n.objectTypeField].push(n.target);return lib$4.getAlterDatabaseScript(t,e,o,s,a,l).sql}();showModal(ConfirmSqlModal,{sql:e,onConfirm:()=>{!function(e){I(this,void 0,void 0,(function*(){const t=null==g?void 0:g.targetConid,n=null==g?void 0:g.targetDatabase,o=yield apiCall("database-connections/run-script",{conid:t,database:n,sql:e}),{errorMessage:r}=o||{};r?showModal(ErrorMessageModal,{title:"Error when saving",message:r}):(set_store_value(B,g=_.omitBy(g,((e,t)=>t.startsWith("isChecked_"))),g),yield apiCall("database-connections/sync-model",{conid:t,database:n}),showSnackbarSuccess("Saved to database"))}))}(e)},engine:l.engine})},O,F,l,p,d,g,f,h,m,c,i,r,x,function(){const e=p.some((e=>g[`isChecked_${e.identifier}`]));set_store_value(B,g=e?_.omitBy(g,((e,t)=>t.startsWith("isChecked_"))):Object.assign(Object.assign({},g),_.fromPairs(p.filter((e=>"equal"!=e.state)).map((e=>[`isChecked_${e.identifier}`,!0])))),g)},B,q,R,M,function(){return I(this,void 0,void 0,(function*(){saveFileToDisk((e=>I(this,void 0,void 0,(function*(){yield apiCall("database-connections/generate-db-diff-report",{filePath:e,sourceConid:null==g?void 0:g.sourceConid,sourceDatabase:null==g?void 0:g.sourceDatabase,targetConid:null==g?void 0:g.targetConid,targetDatabase:null==g?void 0:g.targetDatabase})}))))}))},function(){set_store_value(B,g=Object.assign(Object.assign({},g),{sourceConid:null==g?void 0:g.targetConid,sourceDatabase:null==g?void 0:g.targetDatabase,targetConid:null==g?void 0:g.sourceConid,targetDatabase:null==g?void 0:g.sourceDatabase}),g)},function(){apiCall("database-connections/sync-model",{conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase}),apiCall("database-connections/sync-model",{conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})},T,E,A,D,N,a,s,o,u,$,b,v,y,function(e){F=e,n(2,F)},(e,t)=>t.objectTypeField==e,(e,t)=>{set_store_value(B,g={...g,[`isChecked_${e.identifier}`]:t.target.checked},g)},function(e){O=e,n(1,O)}]}class CompareModelTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1w,create_fragment$1y,safe_not_equal,{tabid:17,activator:18,showReport:19,swap:20,refreshModels:21,deploy:0},null,[-1,-1])}get activator(){return this.$$.ctx[18]}get showReport(){return this.$$.ctx[19]}get swap(){return this.$$.ctx[20]}get refreshModels(){return this.$$.ctx[21]}get deploy(){return this.$$.ctx[0]}}var CompareModelTab$1=Object.freeze({__proto__:null,default:CompareModelTab});function create_else_block$j(e){let t,n,o;return n=new Markdown({props:{source:e[1]||""}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","svelte-skjeqm")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2&t&&(o.source=e[1]||""),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$H(e){let t,n;return t=new LoadingInfo({props:{message:"Loading changelog"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1x(e){let t,n,o,r;const i=[create_if_block$H,create_else_block$j],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const matchingProps$3=[];function instance$1v(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r=!1,i=null;return onMount((()=>{o(void 0,void 0,void 0,(function*(){n(0,r=!0);const e=yield apiCall("config/changelog");n(1,i=e),n(0,r=!1)}))})),[r,i]}class ChangelogTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1v,create_fragment$1x,safe_not_equal,{})}}var ChangelogTab$1=Object.freeze({__proto__:null,default:ChangelogTab,matchingProps:matchingProps$3});function create_if_block_1$o(e){let t,n;return{c(){t=svg_element("polyline"),attr(t,"points",n=`\n ${e[0].x},${e[0].y}\n ${e[1].x},${e[1].y}\n `),attr(t,"class","svelte-j16aco")},m(e,n){insert(e,t,n)},p(e,o){3&o&&n!==(n=`\n ${e[0].x},${e[0].y}\n ${e[1].x},${e[1].y}\n `)&&attr(t,"points",n)},d(e){e&&detach(t)}}}function create_if_block$G(e){let t,n,o,r,i;return{c(){t=svg_element("g"),n=svg_element("polygon"),attr(n,"transform",o=`rotate(${180+180*e[3]/Math.PI})`),attr(n,"points",r=`\n 0,0\n ${arwi},${arhi/2}\n ${arwi},${-arhi/2}\n `),attr(n,"class","svelte-j16aco"),attr(t,"transform",i=`translate(${e[2].x} ${e[2].y})`)},m(e,o){insert(e,t,o),append(t,n)},p(e,r){8&r&&o!==(o=`rotate(${180+180*e[3]/Math.PI})`)&&attr(n,"transform",o),4&r&&i!==(i=`translate(${e[2].x} ${e[2].y})`)&&attr(t,"transform",i)},d(e){e&&detach(t)}}}function create_fragment$1w(e){let t,n,o=e[0]&&e[1]&&create_if_block_1$o(e),r=e[2]&&create_if_block$G(e);return{c(){t=svg_element("svg"),o&&o.c(),n=empty(),r&&r.c(),attr(t,"class","svelte-j16aco")},m(e,i){insert(e,t,i),o&&o.m(t,null),append(t,n),r&&r.m(t,null)},p(e,[i]){e[0]&&e[1]?o?o.p(e,i):(o=create_if_block_1$o(e),o.c(),o.m(t,n)):o&&(o.d(1),o=null),e[2]?r?r.p(e,i):(r=create_if_block$G(e),r.c(),r.m(t,null)):r&&(r.d(1),r=null)},i:noop$3,o:noop$3,d(e){e&&detach(t),o&&o.d(),r&&r.d()}}}const arwi=12,arhi=12;function instance$1u(e,t,n){let{reference:o}=t,{onRemoveReference:r}=t,{onChangeReference:i}=t,{designer:a}=t,{domTables:s}=t,{settings:c}=t,l=null,u=null,d=null,p=0;function m(){const{designerId:e,sourceId:t,targetId:r,columns:i,joinType:a}=o,c=s[t],m=s[r];if(!c||!m)return null;const h=c.getRect(),f=m.getRect();if(!h||!f)return null;n(0,l={x:(h.left+h.right)/2,y:(h.top+h.bottom)/2}),n(1,u={x:(f.left+f.right)/2,y:(f.top+f.bottom)/2}),n(2,d=intersectLineBox(l,u,f)[0]),n(3,p=Math.atan2(u.y-l.y,u.x-l.x))}return e.$$set=e=>{"reference"in e&&n(4,o=e.reference),"onRemoveReference"in e&&n(5,r=e.onRemoveReference),"onChangeReference"in e&&n(6,i=e.onChangeReference),"designer"in e&&n(7,a=e.designer),"domTables"in e&&n(8,s=e.domTables),"settings"in e&&n(9,c=e.settings)},e.$$.update=()=>{256&e.$$.dirty&&m()},[l,u,d,p,o,r,i,a,s,c,m]}class DiagramDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1u,create_fragment$1w,safe_not_equal,{reference:4,onRemoveReference:5,onChangeReference:6,designer:7,domTables:8,settings:9,recomputePosition:10})}get recomputePosition(){return this.$$.ctx[10]}}function create_fragment$1v(e){let t,n;const o=[e[0],{settings:{showTableCloseButton:!1,allowColumnOperations:!1,allowCreateRefByDrag:!1,allowTableAlias:!1,updateFromDbInfo:!0,useDatabaseReferences:!0,allowScrollColumns:!1,allowAddAllReferences:!0,canArrange:!0,canExport:!0,canSelectColumns:!1,canSelectTables:!0,allowChangeColor:!0,appendTableSystemMenu:!0,customizeStyle:!0,allowDefineVirtualReferences:!0}},{referenceComponent:DiagramDesignerReference}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),o[1],0&n&&{referenceComponent:DiagramDesignerReference}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1t(e,t,n){return e.$$set=e=>{n(0,t=assign(assign({},t),exclude_internal_props(e)))},[t=exclude_internal_props(t)]}class DiagramDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1t,create_fragment$1v,safe_not_equal,{})}}function create_default_slot$A(e){let t,n;return t=new DiagramDesigner({props:{value:e[2].value||{},conid:e[0],database:e[1],onChange:e[3],menu:createMenu}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2].value||{}),1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$1(e){let t,n,o,r,i,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.arrange"}}),o=new ToolStripSaveButton({props:{idPrefix:"diagram"}}),i=new ToolStripCommandButton({props:{command:"diagram.export"}}),s=new ToolStripCommandButton({props:{command:"diagram.undo"}}),l=new ToolStripCommandButton({props:{command:"diagram.redo"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,d){mount_component(t,e,d),insert(e,n,d),mount_component(o,e,d),insert(e,r,d),mount_component(i,e,d),insert(e,a,d),mount_component(s,e,d),insert(e,c,d),mount_component(l,e,d),u=!0},p:noop$3,i(e){u||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1u(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$1],default:[create_default_slot$A]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};524295&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$1=()=>getActiveComponent("DiagramTab");function createMenu(){return[{command:"diagram.save"},{command:"diagram.saveAs"},{command:"designer.arrange"},{command:"diagram.export"},{divider:!0},{command:"diagram.undo"},{command:"diagram.redo"}]}function instance$1s(e,t,n){let o,r,{tabid:i}=t,{conid:a}=t,{database:s}=t,{initialArgs:c}=t;const l=createActivator("DiagramTab",!0);const{editorState:u,editorValue:d,setEditorData:p}=useEditorData({tabid:i,onInitialData:e=>{h({type:"reset",value:e}),invalidateCommands()}});component_subscribe(e,u,(e=>n(15,r=e)));const[m,h]=createUndoReducer({tables:[],references:[]});return component_subscribe(e,m,(e=>n(2,o=e))),e.$$set=e=>{"tabid"in e&&n(6,i=e.tabid),"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database),"initialArgs"in e&&n(7,c=e.initialArgs)},e.$$.update=()=>{4&e.$$.dirty&&p(o.value)},[a,s,o,(e,t)=>{h({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),invalidateCommands()},u,m,i,c,l,function(){return i},function(){return r.value||""},function(){return o.canUndo},function(){h({type:"undo"}),invalidateCommands()},function(){return o.canRedo},function(){h({type:"redo"}),invalidateCommands()}]}registerFileCommands({idPrefix:"diagram",category:"Diagram",getCurrentEditor:getCurrentEditor$1,folder:"diagrams",format:"json",fileExtension:"diagram",undoRedo:!0});class DiagramTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1s,create_fragment$1u,safe_not_equal,{tabid:6,conid:0,database:1,initialArgs:7,activator:8,getTabId:9,getData:10,canUndo:11,undo:12,canRedo:13,redo:14})}get activator(){return this.$$.ctx[8]}get getTabId(){return this.$$.ctx[9]}get getData(){return this.$$.ctx[10]}get canUndo(){return this.$$.ctx[11]}get undo(){return this.$$.ctx[12]}get canRedo(){return this.$$.ctx[13]}get redo(){return this.$$.ctx[14]}}var DiagramTab$1=Object.freeze({__proto__:null,default:DiagramTab});function create_fragment$1t(e){let t,n,o;function r(t){e[8](t)}let i={columns:[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$5)],rows:e[1],onLoadNext:e[3]?null:e[4],selectable:!0,singleLineRow:!0};return void 0!==e[2]&&(i.selectedIndex=e[2]),t=new ScrollableTableControl({props:i}),binding_callbacks.push((()=>bind(t,"selectedIndex",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,[o]){const r={};1&o&&(r.columns=[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$5)]),2&o&&(r.rows=e[1]),8&o&&(r.onLoadNext=e[3]?null:e[4]),!n&&4&o&&(n=!0,r.selectedIndex=e[2],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}const func$5=e=>({fieldName:e.name,header:e.name});function instance$1r(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r,{conid:i}=t,{database:a}=t,{keyInfo:s}=t,{onChangeSelected:c}=t,l=[],u=0,d=!1,p=!1,m=!1;const h=createRef(null);function f(){return o(this,void 0,void 0,(function*(){if(!m)if(d)p=!0;else{d=!0;try{const e=yield apiCall("database-connections/load-key-table-range",{conid:i,database:a,key:s.key,cursor:u,count:10}),t=[...l];for(const n of e.items)s.keyColumn&&t.find((e=>e[s.keyColumn]==n[s.keyColumn]))||t.push(Object.assign({rowNumber:t.length+1},n));n(1,l=t),u=e.cursor,n(3,m=0==u)}finally{d=!1}p&&(p=!1,yield tick(),f())}}))}return onMount((()=>{f()})),e.$$set=e=>{"conid"in e&&n(5,i=e.conid),"database"in e&&n(6,a=e.database),"keyInfo"in e&&n(0,s=e.keyInfo),"onChangeSelected"in e&&n(7,c=e.onChangeSelected)},e.$$.update=()=>{134&e.$$.dirty&&c&&l[r]&&h.get()!=r&&(h.set(r),c(l[r])),e.$$.dirty},[s,l,r,m,f,i,a,c,function(e){r=e,n(2,r)}]}class DbKeyTableControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1r,create_fragment$1t,safe_not_equal,{conid:5,database:6,keyInfo:0,onChangeSelected:7})}}function create_if_block_1$n(e){let t,n;return t=new AceEditor({props:{readOnly:!e[2],value:e[1]&&e[1][e[0].name]}}),t.$on("input",e[5]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.readOnly=!e[2]),3&n&&(o.value=e[1]&&e[1][e[0].name]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$F(e){let t,n,o,r;return o=new JSONTree({props:{value:lib$4.safeJsonParse(e[1][e[0].name])||{error:"Not valid JSON"},expanded:!0}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"class","inner svelte-ouq9eo"),attr(t,"class","outer svelte-ouq9eo")},m(e,i){insert(e,t,i),append(t,n),mount_component(o,n,null),r=!0},p(e,t){const n={};3&t&&(n.value=lib$4.safeJsonParse(e[1][e[0].name])||{error:"Not valid JSON"}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_fragment$1s(e){let t,n,o,r,i,a,s,c,l,u=_.startCase(e[0].name)+"";i=new SelectField({props:{isNative:!0,value:e[3],options:[{label:"Text",value:"text"},{label:"JSON view",value:"json"}]}}),i.$on("change",e[4]);let d="text"==e[3]&&create_if_block_1$n(e),p="json"==e[3]&&create_if_block$F(e);return{c(){t=element("div"),n=element("div"),o=text$1(u),r=space(),create_component(i.$$.fragment),a=space(),s=element("div"),d&&d.c(),c=space(),p&&p.c(),attr(n,"class","colname svelte-ouq9eo"),attr(t,"class","colnamewrap svelte-ouq9eo"),attr(s,"class","colvalue svelte-ouq9eo")},m(e,u){insert(e,t,u),append(t,n),append(n,o),append(t,r),mount_component(i,t,null),insert(e,a,u),insert(e,s,u),d&&d.m(s,null),append(s,c),p&&p.m(s,null),l=!0},p(e,[t]){(!l||1&t)&&u!==(u=_.startCase(e[0].name)+"")&&set_data(o,u);const n={};8&t&&(n.value=e[3]),i.$set(n),"text"==e[3]?d?(d.p(e,t),8&t&&transition_in(d,1)):(d=create_if_block_1$n(e),d.c(),transition_in(d,1),d.m(s,c)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"json"==e[3]?p?(p.p(e,t),8&t&&transition_in(p,1)):(p=create_if_block$F(e),p.c(),transition_in(p,1),p.m(s,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){l||(transition_in(i.$$.fragment,e),transition_in(d),transition_in(p),l=!0)},o(e){transition_out(i.$$.fragment,e),transition_out(d),transition_out(p),l=!1},d(e){e&&detach(t),destroy_component(i),e&&detach(a),e&&detach(s),d&&d.d(),p&&p.d()}}}function instance$1q(e,t,n){let o="text",{column:r}=t,{item:i}=t,{onChangeItem:a=null}=t;return e.$$set=e=>{"column"in e&&n(0,r=e.column),"item"in e&&n(1,i=e.item),"onChangeItem"in e&&n(2,a=e.onChangeItem)},[r,i,a,o,e=>{n(3,o=e.detail)},e=>{a&&a({...i,[r.name]:e.detail})}]}class DbKeyValueDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1q,create_fragment$1s,safe_not_equal,{column:0,item:1,onChangeItem:2})}}function get_each_context$g(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_each_block$g(e){let t,n;return t=new DbKeyValueDetail({props:{item:e[1],column:e[3],onChangeItem:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.item=e[1]),1&n&&(o.column=e[3]),4&n&&(o.onChangeItem=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1r(e){let t,n,o=e[0],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$g(get_each_context$g(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("div");for(let e=0;e<r.length;e+=1)r[e].c();attr(t,"class","props svelte-1hio2dm")},m(e,o){insert(e,t,o);for(let e=0;e<r.length;e+=1)r[e].m(t,null);n=!0},p(e,[n]){if(7&n){let a;for(o=e[0],a=0;a<o.length;a+=1){const i=get_each_context$g(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$g(i),r[a].c(),transition_in(r[a],1),r[a].m(t,null))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function instance$1p(e,t,n){let{dbKeyFields:o}=t,{item:r}=t,{onChangeItem:i=null}=t;return e.$$set=e=>{"dbKeyFields"in e&&n(0,o=e.dbKeyFields),"item"in e&&n(1,r=e.item),"onChangeItem"in e&&n(2,i=e.onChangeItem)},[o,r,i]}class DbKeyItemDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1p,create_fragment$1r,safe_not_equal,{dbKeyFields:0,item:1,onChangeItem:2})}}function create_default_slot_1$n(e){let t,n,o;return n=new DbKeyItemDetail({props:{dbKeyFields:e[0].keyType.dbKeyFields,item:e[1],onChangeItem:e[7]}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","container svelte-tt47mf")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};1&t&&(o.dbKeyFields=e[0].keyType.dbKeyFields),2&t&&(o.item=e[1]),2&t&&(o.onChangeItem=e[7]),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_header_slot$6(e){let t;return{c(){t=text$1("Add item")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$5(e){let t,n,o,r;return t=new FormStyledButton({props:{value:"OK"}}),t.$on("click",e[6]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$z(e){let t,n;const o=[e[3]];let r={$$slots:{footer:[create_footer_slot$5],header:[create_header_slot$6],default:[create_default_slot_1$n]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=8&n?get_spread_update(o,[get_spread_object(e[3])]):{};515&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1q(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$z]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};523&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1o(e,t,n){const o=["keyInfo","label","onConfirm"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{keyInfo:a}=t,{label:s}=t,{onConfirm:c}=t,l={};const u=()=>i(void 0,void 0,void 0,(function*(){(yield c(l))&&closeCurrentModal()}));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"keyInfo"in e&&n(0,a=e.keyInfo),"label"in e&&n(4,s=e.label),"onConfirm"in e&&n(5,c=e.onConfirm)},[a,l,u,r,s,c,e=>u(),e=>{n(1,l=e)}]}class DbKeyAddItemModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1o,create_fragment$1q,safe_not_equal,{keyInfo:0,label:4,onConfirm:5})}}function create_catch_block$1(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block$1(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y=e[19].type+"";r=new FontIcon({props:{icon:lib$4.getIconForRedisType(e[19].type),padRight:!0}}),l=new TextField({props:{value:e[0],readOnly:!0}}),d=new FormStyledButton({props:{value:`TTL:${e[19].ttl}`}}),d.$on("click",(function(){return e[14](e[19])}));let x="string"==e[19].type&&create_if_block_2$d(e),w=e[19].keyType?.addMethod&&e[19].keyType?.showItemList&&create_if_block_1$m(e);f=new FormStyledButton({props:{value:"Refresh"}}),f.$on("click",e[7]);const C=[create_if_block$E,create_else_block$i],k=[];function S(e,t){return e[19].keyType?.dbKeyFields&&e[19].keyType?.showItemList?0:1}return $=S(e),b=k[$]=C[$](e),{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=text$1(y),s=space(),c=element("div"),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment),p=space(),x&&x.c(),m=space(),w&&w.c(),h=space(),create_component(f.$$.fragment),g=space(),_=element("div"),b.c(),attr(o,"class","type svelte-1awjfxf"),attr(c,"class","key-name svelte-1awjfxf"),attr(n,"class","top-panel svelte-1awjfxf"),attr(_,"class","content svelte-1awjfxf"),attr(t,"class","container svelte-1awjfxf")},m(e,b){insert(e,t,b),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(o,a),append(n,s),append(n,c),mount_component(l,c,null),append(n,u),mount_component(d,n,null),append(n,p),x&&x.m(n,null),append(n,m),w&&w.m(n,null),append(n,h),mount_component(f,n,null),append(t,g),append(t,_),k[$].m(_,null),v=!0},p(t,o){e=t;const i={};23&o&&(i.icon=lib$4.getIconForRedisType(e[19].type)),r.$set(i),(!v||23&o)&&y!==(y=e[19].type+"")&&set_data(a,y);const s={};1&o&&(s.value=e[0]),l.$set(s);const c={};23&o&&(c.value=`TTL:${e[19].ttl}`),d.$set(c),"string"==e[19].type?x?(x.p(e,o),23&o&&transition_in(x,1)):(x=create_if_block_2$d(e),x.c(),transition_in(x,1),x.m(n,m)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros()),e[19].keyType?.addMethod&&e[19].keyType?.showItemList?w?(w.p(e,o),23&o&&transition_in(w,1)):(w=create_if_block_1$m(e),w.c(),transition_in(w,1),w.m(n,h)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros());let u=$;$=S(e),$===u?k[$].p(e,o):(group_outros(),transition_out(k[u],1,1,(()=>{k[u]=null})),check_outros(),b=k[$],b?b.p(e,o):(b=k[$]=C[$](e),b.c()),transition_in(b,1),b.m(_,null))},i(e){v||(transition_in(r.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),transition_in(x),transition_in(w),transition_in(f.$$.fragment,e),transition_in(b),v=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),transition_out(x),transition_out(w),transition_out(f.$$.fragment,e),transition_out(b),v=!1},d(e){e&&detach(t),destroy_component(r),destroy_component(l),destroy_component(d),x&&x.d(),w&&w.d(),destroy_component(f),k[$].d()}}}function create_if_block_2$d(e){let t,n;return t=new FormStyledButton({props:{value:"Save",disabled:!e[5]}}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=!e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$m(e){let t,n;return t=new FormStyledButton({props:{value:"Add item"}}),t.$on("click",(function(){return e[15](e[19])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(t,n){e=t},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$i(e){let t,n;return t=new AceEditor({props:{value:e[5]||e[19].value}}),t.$on("input",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};55&n&&(o.value=e[5]||e[19].value),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$E(e){let t,n;return t=new VerticalSplitter({props:{$$slots:{2:[create__2_slot$2],1:[create__1_slot$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1048607&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$2(e){let t,n;return t=new DbKeyTableControl({props:{conid:e[1],database:e[2],keyInfo:e[19],onChangeSelected:e[16]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),4&n&&(o.database=e[2]),23&n&&(o.keyInfo=e[19]),8&n&&(o.onChangeSelected=e[16]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$2(e){let t,n;return t=new DbKeyItemDetail({props:{dbKeyFields:e[19].keyType.dbKeyFields,item:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};23&n&&(o.dbKeyFields=e[19].keyType.dbKeyFields),8&n&&(o.item=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_pending_block$1(e){let t,n;return t=new LoadingInfo({props:{message:"Loading key details",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1p(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block$1,then:create_then_block$1,catch:create_catch_block$1,value:19,blocks:[,,,]};return handle_promise(n=apiCall("database-connections/load-key-info",{conid:e[1],database:e[2],key:e[0],refreshToken:e[4]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,[o]){e=t,r.ctx=e,23&o&&n!==(n=apiCall("database-connections/load-key-info",{conid:e[1],database:e[2],key:e[0],refreshToken:e[4]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}const matchingProps$2=["conid","database","isDefaultBrowser"],allowAddToFavorites=e=>!1;function getKeyText(e){const t=e.split(":");return t.length>1?t[t.length-1]:e}function instance$1n(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(13,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:i}=t,{conid:a}=t,{database:s}=t,{key:c}=t,{isDefaultBrowser:l=!1}=t;const u=createActivator("DbKeyDetailTab",!0);let d,p=0,m=null;function h(e){showModal(InputTextModal,{value:e.ttl,label:"New TTL value (-1=key never expires)",header:`Set TTL for key ${e.key}`,onConfirm:t=>r(this,void 0,void 0,(function*(){const n=parseInt(t);_.isNumber(n)&&(n<0?yield apiCall("database-connections/call-method",{conid:a,database:s,method:"persist",args:[e.key]}):yield apiCall("database-connections/call-method",{conid:a,database:s,method:"expire",args:[e.key,n]}),f())}))})}function f(){n(5,m=null),n(4,p+=1)}function g(e){return r(this,void 0,void 0,(function*(){showModal(DbKeyAddItemModal,{keyInfo:e,onConfirm:t=>r(this,void 0,void 0,(function*(){const n=yield apiCall("database-connections/call-method",{conid:a,database:s,method:e.keyType.addMethod,args:[e.key,...e.keyType.dbKeyFields.map((e=>t[e.name]))]});return n.errorMessage?(showModal(ErrorMessageModal,{message:n.errorMessage}),!1):(f(),!0)}))})}))}return e.$$set=e=>{"tabid"in e&&n(10,i=e.tabid),"conid"in e&&n(1,a=e.conid),"database"in e&&n(2,s=e.database),"key"in e&&n(0,c=e.key),"isDefaultBrowser"in e&&n(11,l=e.isDefaultBrowser)},e.$$.update=()=>{8198&e.$$.dirty&&n(0,c=o[`${a}:${s}`]),1025&e.$$.dirty&&changeTab(i,(e=>Object.assign(Object.assign({},e),{title:getKeyText(c)})))},[c,a,s,d,p,m,h,f,function(){return r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"set",args:[c,m]}),f()}))},g,i,l,u,o,e=>h(e),e=>g(e),e=>{n(3,d=e)},e=>{n(5,m=e.detail)}]}class DbKeyDetailTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1n,create_fragment$1p,safe_not_equal,{tabid:10,conid:1,database:2,key:0,isDefaultBrowser:11,activator:12})}get activator(){return this.$$.ctx[12]}}var DbKeyDetailTab$1=Object.freeze({__proto__:null,default:DbKeyDetailTab,matchingProps:matchingProps$2,allowAddToFavorites:allowAddToFavorites});function create_else_block$h(e){let t,n;return t=new LoadingInfo({props:{message:"Loading data..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$D(e){let t,n;return t=new JslDataGrid({props:{jslid:e[0],listenInitializeFile:!0,onCustomGridRefresh:e[2],focusOnVisible:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.jslid=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$y(e){let t,n,o,r;const i=[create_if_block$D,create_else_block$h],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"dataGrid.refresh"}}),o=new ToolStripCommandButton({props:{command:"queryData.stopLoading"}}),i=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[3]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1o(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot],default:[create_default_slot$y]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};262145&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const matchingProps$1=["conid","database","pureName","sql"],getCurrentEditor=()=>getActiveComponent("QueryDataTab");function instance$1m(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const s=createActivator("QueryDataTab",!0);let c,{sql:l}=t,{pureName:u}=t,{schemaName:d}=t,{conid:p}=t,{database:m}=t,h=!1;function f(e,t,o){return a(this,void 0,void 0,(function*(){const r=yield apiCall("sessions/execute-reader",{conid:e,database:t,sql:o,appFolder:d,queryName:u});n(0,c=r.jslid),h=!0}))}const g=createQuickExportHandlerRef();function _(){h=!1,invalidateCommands()}return onDestroy((()=>{c&&h&&apiCall("sessions/stop-loading-reader",{jslid:c})})),e.$$set=e=>{"sql"in e&&n(5,l=e.sql),"pureName"in e&&n(6,u=e.pureName),"schemaName"in e&&n(7,d=e.schemaName),"conid"in e&&n(8,p=e.conid),"database"in e&&n(9,m=e.database)},e.$$.update=()=>{800&e.$$.dirty&&f(p,m,l),1&e.$$.dirty&&(n(1,o=useEffect((()=>{return(e=c)?(apiOn(`session-jslid-done-${e}`,_),()=>{apiOff(`session-initialize-file-${e}`,_)}):()=>{};var e}))),i(),i=subscribe(o,(e=>n(12,r=e)))),e.$$.dirty},[c,o,function(){n(0,c=null),f(p,m,l)},g,s,l,u,d,p,m,function(){return h},function(){c&&(apiCall("sessions/stop-loading-reader",{jslid:c}),h=!1,invalidateCommands())},r]}registerCommand({id:"queryData.stopLoading",category:"Query data",name:"Stop loading",icon:"icon stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor())||void 0===e?void 0:e.isLoading()},onClick:()=>getCurrentEditor().stopLoading()});class QueryDataTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1m,create_fragment$1o,safe_not_equal,{activator:4,sql:5,pureName:6,schemaName:7,conid:8,database:9,isLoading:10,stopLoading:11})}get activator(){return this.$$.ctx[4]}get isLoading(){return this.$$.ctx[10]}get stopLoading(){return this.$$.ctx[11]}}var QueryDataTab$1=Object.freeze({__proto__:null,default:QueryDataTab,matchingProps:matchingProps$1});function create_default_slot$x(e){let t;return{c(){t=text$1("Browse")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1n(e){let t,n,o,r,i;const a=[e[5],{value:e[2][e[0]]},{readOnly:!0},{disabled:e[1]}];let s={};for(let e=0;e<a.length;e+=1)s=assign(s,a[e]);return n=new TextField({props:s}),n.$on("click",e[4]),r=new InlineButton({props:{disabled:e[1],$$slots:{default:[create_default_slot$x]},$$scope:{ctx:e}}}),r.$on("click",e[4]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),attr(t,"class","flex")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(r,t,null),i=!0},p(e,[t]){const o=39&t?get_spread_update(a,[32&t&&get_spread_object(e[5]),5&t&&{value:e[2][e[0]]},a[2],2&t&&{disabled:e[1]}]):{};n.$set(o);const i={};2&t&&(i.disabled=e[1]),256&t&&(i.$$scope={dirty:t,ctx:e}),r.$set(i)},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}function instance$1l(e,t,n){const o=["name","disabled"];let r,i=compute_rest_props(t,o);var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{name:s}=t,{disabled:c=!1}=t;const{values:l,setFieldValue:u}=getFormContext();return component_subscribe(e,l,(e=>n(2,r=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(5,i=compute_rest_props(t,o)),"name"in e&&n(0,s=e.name),"disabled"in e&&n(1,c=e.disabled)},[s,c,r,l,function(){return a(this,void 0,void 0,(function*(){const e=getElectron();if(!e)return;const t=yield e.showOpenDialog({defaultPath:l[s],properties:["showHiddenFiles","openFile"],filters:[{name:"All Files",extensions:["*"]}]}),n=t&&t[0];n&&u(s,n)}))},i]}class FormElectronFileSelectorRaw extends SvelteComponent{constructor(e){super(),init(this,e,instance$1l,create_fragment$1n,safe_not_equal,{name:0,disabled:1})}}function create_default_slot$w(e){let t,n;const o=[{name:e[1]},e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormElectronFileSelectorRaw({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=18&n?get_spread_update(o,[2&n&&{name:e[1]},16&n&&get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1m(e){let t,n,o;const r=[{type:"select"},{label:e[0]},e[2]];var i=e[3];function a(e){let t={$$slots:{default:[create_default_slot$w]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=new i(a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,[o]){const s=5&o?get_spread_update(r,[r[0],1&o&&{label:e[0]},4&o&&get_spread_object(e[2])]):{};if(50&o&&(s.$$scope={dirty:o,ctx:e}),i!==(i=e[3])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=new i(a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function instance$1k(e,t,n){const o=["label","name","templateProps"];let r=compute_rest_props(t,o),{label:i}=t,{name:a}=t,{templateProps:s={}}=t;const{template:c}=getFormContext();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,r=compute_rest_props(t,o)),"label"in e&&n(0,i=e.label),"name"in e&&n(1,a=e.name),"templateProps"in e&&n(2,s=e.templateProps)},[i,a,s,c,r]}class FormElectronFileSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$1k,create_fragment$1m,safe_not_equal,{label:0,name:1,templateProps:2})}}function create_if_block$C(e){let t,n;return t=new InlineButton({props:{disabled:e[1],$$slots:{default:[create_default_slot$v]},$$scope:{ctx:e}}}),t.$on("click",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.disabled=e[1]),2048&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$v(e){let t,n;return t=new FontIcon({props:{icon:"icon eye"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1l(e){let t,n,o,r;const i=[e[7],{disabled:e[1]},{value:e[4]?"":e[2]},{placeholder:e[4]?"(Password is encrypted)":void 0},{type:e[4]||e[3]?"text":"password"}];let a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);n=new TextField({props:a}),n.$on("change",e[9]);let s=!e[4]&&create_if_block$C(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),s&&s.c(),attr(t,"class","flex")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),s&&s.m(t,null),r=!0},p(e,[o]){const r=158&o?get_spread_update(i,[128&o&&get_spread_object(e[7]),2&o&&{disabled:e[1]},20&o&&{value:e[4]?"":e[2]},16&o&&{placeholder:e[4]?"(Password is encrypted)":void 0},24&o&&{type:e[4]||e[3]?"text":"password"}]):{};n.$set(r),e[4]?s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros()):s?(s.p(e,o),16&o&&transition_in(s,1)):(s=create_if_block$C(e),s.c(),transition_in(s,1),s.m(t,null))},i(e){r||(transition_in(n.$$.fragment,e),transition_in(s),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(s),r=!1},d(e){e&&detach(t),destroy_component(n),s&&s.d()}}}function instance$1j(e,t,n){let o,r;const i=["name","disabled"];let a,s=compute_rest_props(t,i),{name:c}=t,{disabled:l=!1}=t;const{values:u,setFieldValue:d}=getFormContext();component_subscribe(e,u,(e=>n(8,a=e)));let p=!1;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,s=compute_rest_props(t,i)),"name"in e&&n(0,c=e.name),"disabled"in e&&n(1,l=e.disabled)},e.$$.update=()=>{257&e.$$.dirty&&n(2,o=a[c]),4&e.$$.dirty&&n(4,r=o&&o.startsWith("crypt:"))},[c,l,o,p,r,u,d,s,a,e=>d(c,e.target.value),()=>n(3,p=!p)]}class FormPasswordFieldRaw extends SvelteComponent{constructor(e){super(),init(this,e,instance$1j,create_fragment$1l,safe_not_equal,{name:0,disabled:1})}}function create_default_slot$u(e){let t,n;const o=[{name:e[1]},e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormPasswordFieldRaw({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=18&n?get_spread_update(o,[2&n&&{name:e[1]},16&n&&get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1k(e){let t,n,o;const r=[{type:"text"},{label:e[0]},e[2]];var i=e[3];function a(e){let t={$$slots:{default:[create_default_slot$u]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=new i(a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,[o]){const s=5&o?get_spread_update(r,[r[0],1&o&&{label:e[0]},4&o&&get_spread_object(e[2])]):{};if(50&o&&(s.$$scope={dirty:o,ctx:e}),i!==(i=e[3])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=new i(a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function instance$1i(e,t,n){const o=["label","name","templateProps"];let r=compute_rest_props(t,o),{label:i}=t,{name:a}=t,{templateProps:s={}}=t;const{template:c}=getFormContext();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,r=compute_rest_props(t,o)),"label"in e&&n(0,i=e.label),"name"in e&&n(1,a=e.name),"templateProps"in e&&n(2,s=e.templateProps)},[i,a,s,c,r]}class FormPasswordField extends SvelteComponent{constructor(e){super(),init(this,e,instance$1i,create_fragment$1k,safe_not_equal,{label:0,name:1,templateProps:2})}}function get_each_context$f(e,t,n){const o=e.slice();return o[11]=t[n],o}function create_each_block$f(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[11].label+"";return{c(){t=element("div"),n=element("input"),i=space(),a=element("label"),s=text$1(p),l=space(),attr(n,"type","radio"),n.__value=o=e[11].value,n.value=n.__value,attr(n,"id",r=e[11].id),e[6][0].push(n),attr(a,"for",c=e[11].id)},m(o,r){insert(o,t,r),append(t,n),n.checked=n.__value===e[0],append(t,i),append(t,a),append(a,s),append(t,l),u||(d=listen(n,"change",e[5]),u=!0)},p(e,t){2&t&&o!==(o=e[11].value)&&(n.__value=o,n.value=n.__value),2&t&&r!==(r=e[11].id)&&attr(n,"id",r),1&t&&(n.checked=n.__value===e[0]),2&t&&p!==(p=e[11].label+"")&&set_data(s,p),2&t&&c!==(c=e[11].id)&&attr(a,"for",c)},d(o){o&&detach(t),e[6][0].splice(e[6][0].indexOf(n),1),u=!1,d()}}}function create_fragment$1j(e){let t,n=e[1],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$f(get_each_context$f(e,n,t));return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,n){for(let t=0;t<o.length;t+=1)o[t].m(e,n);insert(e,t,n)},p(e,[r]){if(3&r){let i;for(n=e[1],i=0;i<n.length;i+=1){const a=get_each_context$f(e,n,i);o[i]?o[i].p(a,r):(o[i]=create_each_block$f(a),o[i].c(),o[i].m(t.parentNode,t))}for(;i<o.length;i+=1)o[i].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){destroy_each(o,e),e&&detach(t)}}}function instance$1h(e,t,n){let o,r;var i,a;let{options:s=[]}=t,{name:c}=t;const{values:l,setFieldValue:u}=getFormContext();component_subscribe(e,l,(e=>n(9,r=e)));let d=null!==(i=r[c])&&void 0!==i?i:null===(a=s.find((e=>e.default)))||void 0===a?void 0:a.value;return e.$$set=e=>{"options"in e&&n(3,s=e.options),"name"in e&&n(4,c=e.name)},e.$$.update=()=>{17&e.$$.dirty&&u(c,d),8&e.$$.dirty&&n(1,o=s.map((e=>Object.assign(Object.assign({},e),{id:v1_1$4()}))))},[d,o,l,s,c,function(){d=this.__value,n(0,d)},[[]]]}class FormRadioGroupField extends SvelteComponent{constructor(e){super(),init(this,e,instance$1h,create_fragment$1j,safe_not_equal,{options:3,name:4})}}function create_if_block_16(e){let t,n;return t=new FormElectronFileSelector({props:{label:"Database file",name:"databaseFile",disabled:!e[10]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_15$1(e){let t,n,o;return n=new FormRadioGroupField({props:{name:"useDatabaseUrl",options:[{label:"Fill database connection details",value:"",default:!0},{label:"Use database URL",value:"1"}]}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","radio svelte-1toqt3y")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_14$1(e){let t,n;return t=new FormTextField({props:{label:"Database URL",name:"databaseUrl",placeholder:e[0]?.databaseUrlPlaceholder}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.placeholder=e[0]?.databaseUrlPlaceholder),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_13$2(e){let t,n;return t=new FormSelectField({props:{label:"Authentication",name:"authType",isNative:!0,defaultValue:e[0]?.defaultAuthTypeName,options:e[3].map(func_2$3)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.defaultValue=e[0]?.defaultAuthTypeName),8&n&&(o.options=e[3].map(func_2$3)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10$2(e){let t,n,o,r,i,a,s,c=e[0]?.showConnectionField("port",e[1]),l=getCurrentConfig().isDocker;o=new FormTextField({props:{label:"Server",name:"server",disabled:e[7].includes("server"),templateProps:{noMargin:!0}}});let u=c&&create_if_block_12$2(e),d=l&&create_if_block_11$2();return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),u&&u.c(),i=space(),d&&d.c(),a=empty(),attr(n,"class","col-9 mr-1"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),u&&u.m(t,null),insert(e,i,c),d&&d.m(e,c),insert(e,a,c),s=!0},p(e,n){const r={};128&n&&(r.disabled=e[7].includes("server")),o.$set(r),3&n&&(c=e[0]?.showConnectionField("port",e[1])),c?u?(u.p(e,n),3&n&&transition_in(u,1)):(u=create_if_block_12$2(e),u.c(),transition_in(u,1),u.m(t,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){s||(transition_in(o.$$.fragment,e),transition_in(u),transition_in(d),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(u),transition_out(d),s=!1},d(e){e&&detach(t),destroy_component(o),u&&u.d(),e&&detach(i),d&&d.d(e),e&&detach(a)}}}function create_if_block_12$2(e){let t,n,o;return n=new FormTextField({props:{label:"Port",name:"port",disabled:e[7].includes("port"),templateProps:{noMargin:!0},placeholder:e[0]&&e[0].defaultPort}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-3 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};128&t&&(o.disabled=e[7].includes("port")),1&t&&(o.placeholder=e[0]&&e[0].defaultPort),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_11$2(e){let t,n,o,r;return n=new FontIcon({props:{icon:"img warn",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead"),attr(t,"class","row svelte-1toqt3y")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_7$2(e){let t,n,o,r=e[5]&&create_if_block_9$2(e),i=e[4]&&create_if_block_8$2(e);return{c(){t=element("div"),r&&r.c(),n=space(),i&&i.c(),attr(t,"class","row svelte-1toqt3y")},m(e,a){insert(e,t,a),r&&r.m(t,null),append(t,n),i&&i.m(t,null),o=!0},p(e,o){e[5]?r?(r.p(e,o),32&o&&transition_in(r,1)):(r=create_if_block_9$2(e),r.c(),transition_in(r,1),r.m(t,n)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),e[4]?i?(i.p(e,o),16&o&&transition_in(i,1)):(i=create_if_block_8$2(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){e&&detach(t),r&&r.d(),i&&i.d()}}}function create_if_block_9$2(e){let t,n,o;return n=new FormTextField({props:{label:"User",name:"user",disabled:e[7].includes("user"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};128&t&&(o.disabled=e[7].includes("user")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_8$2(e){let t,n,o;return n=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[7].includes("password"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};128&t&&(o.disabled=e[7].includes("password")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_6$3(e){let t,n;return t=new FormTextField({props:{label:"User",name:"user",disabled:e[7].includes("user")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n&&(o.disabled=e[7].includes("user")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$4(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[7].includes("password")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n&&(o.disabled=e[7].includes("password")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$7(e){let t,n;return t=new FormSelectField({props:{label:"Password mode",isNative:!0,name:"passwordMode",defaultValue:"saveEncrypted",options:[{value:"saveEncrypted",label:"Save and encrypt"},{value:"saveRaw",label:"Save raw (UNSAFE!!)"}]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$9(e){let t,n;return t=new FormCheckboxField({props:{label:"Is read only",name:"isReadOnly"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$c(e){let t,n;return t=new FormTextField({props:{label:"Default database",name:"defaultDatabase"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$l(e){let t,n;return t=new FormCheckboxField({props:{label:`Use only database ${e[6]}`,name:"singleDatabase"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};64&n&&(o.label=`Use only database ${e[6]}`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$B(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"Display name",name:"displayName",templateProps:{noMargin:!0}}}),a=new FormColorField({props:{useSelector:!0,label:"Color",name:"connectionColor",emptyLabel:"(not selected)",templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6 mr-1"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_fragment$1i(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_=e[0]?.showConnectionField("databaseFile",e[1]),$=e[0]?.showConnectionField("useDatabaseUrl",e[1]),b=e[0]?.showConnectionField("databaseUrl",e[1]),v=e[3]&&e[0]?.showConnectionField("authType",e[1]),y=e[0]?.showConnectionField("server",e[1]),x=!e[7].includes("password")&&e[4],w=e[0]?.showConnectionField("isReadOnly",e[1]),C=e[0]?.showConnectionField("defaultDatabase",e[1]),k=e[6]&&e[0]?.showConnectionField("singleDatabase",e[1]);t=new FormSelectField({props:{label:"Database engine",name:"engine",isNative:!0,options:[{label:"(select driver)",value:""},...e[2].drivers.filter(e[14]).map(func_1$4)]}});let S=_&&create_if_block_16(e),T=$&&create_if_block_15$1(),E=b&&create_if_block_14$1(e),A=v&&create_if_block_13$2(e),D=y&&create_if_block_10$2(e),N=e[5]&&e[4]&&create_if_block_7$2(e),I=e[5]&&!e[4]&&create_if_block_6$3(e),R=!e[5]&&e[4]&&create_if_block_5$4(e),O=x&&create_if_block_4$7(),F=w&&create_if_block_3$9(),M=C&&create_if_block_2$c(),L=k&&create_if_block_1$l(e),P=e[0]&&create_if_block$B();return{c(){create_component(t.$$.fragment),n=space(),S&&S.c(),o=space(),T&&T.c(),r=space(),E&&E.c(),i=space(),A&&A.c(),a=space(),D&&D.c(),s=space(),N&&N.c(),c=space(),I&&I.c(),l=space(),R&&R.c(),u=space(),O&&O.c(),d=space(),F&&F.c(),p=space(),M&&M.c(),m=space(),L&&L.c(),h=space(),P&&P.c(),f=empty()},m(e,_){mount_component(t,e,_),insert(e,n,_),S&&S.m(e,_),insert(e,o,_),T&&T.m(e,_),insert(e,r,_),E&&E.m(e,_),insert(e,i,_),A&&A.m(e,_),insert(e,a,_),D&&D.m(e,_),insert(e,s,_),N&&N.m(e,_),insert(e,c,_),I&&I.m(e,_),insert(e,l,_),R&&R.m(e,_),insert(e,u,_),O&&O.m(e,_),insert(e,d,_),F&&F.m(e,_),insert(e,p,_),M&&M.m(e,_),insert(e,m,_),L&&L.m(e,_),insert(e,h,_),P&&P.m(e,_),insert(e,f,_),g=!0},p(e,[n]){const g={};4&n&&(g.options=[{label:"(select driver)",value:""},...e[2].drivers.filter(e[14]).map(func_1$4)]),t.$set(g),3&n&&(_=e[0]?.showConnectionField("databaseFile",e[1])),_?S?(S.p(e,n),3&n&&transition_in(S,1)):(S=create_if_block_16(e),S.c(),transition_in(S,1),S.m(o.parentNode,o)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),3&n&&($=e[0]?.showConnectionField("useDatabaseUrl",e[1])),$?T?3&n&&transition_in(T,1):(T=create_if_block_15$1(),T.c(),transition_in(T,1),T.m(r.parentNode,r)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),3&n&&(b=e[0]?.showConnectionField("databaseUrl",e[1])),b?E?(E.p(e,n),3&n&&transition_in(E,1)):(E=create_if_block_14$1(e),E.c(),transition_in(E,1),E.m(i.parentNode,i)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),11&n&&(v=e[3]&&e[0]?.showConnectionField("authType",e[1])),v?A?(A.p(e,n),11&n&&transition_in(A,1)):(A=create_if_block_13$2(e),A.c(),transition_in(A,1),A.m(a.parentNode,a)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),3&n&&(y=e[0]?.showConnectionField("server",e[1])),y?D?(D.p(e,n),3&n&&transition_in(D,1)):(D=create_if_block_10$2(e),D.c(),transition_in(D,1),D.m(s.parentNode,s)):D&&(group_outros(),transition_out(D,1,1,(()=>{D=null})),check_outros()),e[5]&&e[4]?N?(N.p(e,n),48&n&&transition_in(N,1)):(N=create_if_block_7$2(e),N.c(),transition_in(N,1),N.m(c.parentNode,c)):N&&(group_outros(),transition_out(N,1,1,(()=>{N=null})),check_outros()),e[5]&&!e[4]?I?(I.p(e,n),48&n&&transition_in(I,1)):(I=create_if_block_6$3(e),I.c(),transition_in(I,1),I.m(l.parentNode,l)):I&&(group_outros(),transition_out(I,1,1,(()=>{I=null})),check_outros()),!e[5]&&e[4]?R?(R.p(e,n),48&n&&transition_in(R,1)):(R=create_if_block_5$4(e),R.c(),transition_in(R,1),R.m(u.parentNode,u)):R&&(group_outros(),transition_out(R,1,1,(()=>{R=null})),check_outros()),144&n&&(x=!e[7].includes("password")&&e[4]),x?O?144&n&&transition_in(O,1):(O=create_if_block_4$7(),O.c(),transition_in(O,1),O.m(d.parentNode,d)):O&&(group_outros(),transition_out(O,1,1,(()=>{O=null})),check_outros()),3&n&&(w=e[0]?.showConnectionField("isReadOnly",e[1])),w?F?3&n&&transition_in(F,1):(F=create_if_block_3$9(),F.c(),transition_in(F,1),F.m(p.parentNode,p)):F&&(group_outros(),transition_out(F,1,1,(()=>{F=null})),check_outros()),3&n&&(C=e[0]?.showConnectionField("defaultDatabase",e[1])),C?M?3&n&&transition_in(M,1):(M=create_if_block_2$c(),M.c(),transition_in(M,1),M.m(m.parentNode,m)):M&&(group_outros(),transition_out(M,1,1,(()=>{M=null})),check_outros()),67&n&&(k=e[6]&&e[0]?.showConnectionField("singleDatabase",e[1])),k?L?(L.p(e,n),67&n&&transition_in(L,1)):(L=create_if_block_1$l(e),L.c(),transition_in(L,1),L.m(h.parentNode,h)):L&&(group_outros(),transition_out(L,1,1,(()=>{L=null})),check_outros()),e[0]?P?1&n&&transition_in(P,1):(P=create_if_block$B(),P.c(),transition_in(P,1),P.m(f.parentNode,f)):P&&(group_outros(),transition_out(P,1,1,(()=>{P=null})),check_outros())},i(e){g||(transition_in(t.$$.fragment,e),transition_in(S),transition_in(T),transition_in(E),transition_in(A),transition_in(D),transition_in(N),transition_in(I),transition_in(R),transition_in(O),transition_in(F),transition_in(M),transition_in(L),transition_in(P),g=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(S),transition_out(T),transition_out(E),transition_out(A),transition_out(D),transition_out(N),transition_out(I),transition_out(R),transition_out(O),transition_out(F),transition_out(M),transition_out(L),transition_out(P),g=!1},d(e){destroy_component(t,e),e&&detach(n),S&&S.d(e),e&&detach(o),T&&T.d(e),e&&detach(r),E&&E.d(e),e&&detach(i),A&&A.d(e),e&&detach(a),D&&D.d(e),e&&detach(s),N&&N.d(e),e&&detach(c),I&&I.d(e),e&&detach(l),R&&R.d(e),e&&detach(u),O&&O.d(e),e&&detach(d),F&&F.d(e),e&&detach(p),M&&M.d(e),e&&detach(m),L&&L.d(e),e&&detach(h),P&&P.d(e),e&&detach(f)}}}const func_1$4=e=>({value:e.engine,label:e.title}),func_2$3=e=>({value:e.name,label:e.title});function instance$1g(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f=noop$3;component_subscribe(e,extensions,(e=>n(2,m=e))),e.$$.on_destroy.push((()=>f()));const{values:g}=getFormContext();component_subscribe(e,g,(e=>n(1,p=e)));const _=getElectron();return e.$$.update=()=>{2&e.$$.dirty&&n(13,o=p.authType),2&e.$$.dirty&&n(11,r=p.engine),e.$$.dirty,2048&e.$$.dirty&&(n(8,i=useAuthTypes({engine:r})),f(),f=subscribe(i,(e=>n(3,h=e)))),8200&e.$$.dirty&&n(12,a=h&&h.find((e=>e.name==o))),4096&e.$$.dirty&&n(7,s=(a?a.disabledFields:null)||[]),2052&e.$$.dirty&&n(0,c=m.drivers.find((e=>e.engine==r))),2&e.$$.dirty&&n(6,l=p.defaultDatabase),3&e.$$.dirty&&n(5,u=null==c?void 0:c.showConnectionField("user",p)),3&e.$$.dirty&&n(4,d=null==c?void 0:c.showConnectionField("password",p))},[c,p,m,h,d,u,l,s,i,g,_,r,a,o,e=>!e.isElectronOnly||_]}class ConnectionDriverFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1g,create_fragment$1i,safe_not_equal,{})}}function create_if_block_4$6(e){let t,n;return t=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:!e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.disabled=!e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$8(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:!e[3],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Password",name:"sshPassword",disabled:!e[3],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6"),attr(t,"class","row svelte-10d5vjg")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};8&t&&(n.disabled=!e[3]),o.$set(n);const r={};8&t&&(r.disabled=!e[3]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_if_block_2$b(e){let t,n,o,r,i,a,s;return o=new FormElectronFileSelector({props:{label:"Private key file",name:"sshKeyfile",disabled:!e[3],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Key file passphrase",name:"sshKeyfilePassword",disabled:!e[3],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6"),attr(t,"class","row svelte-10d5vjg")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};8&t&&(n.disabled=!e[3]),o.$set(n);const r={};8&t&&(r.disabled=!e[3]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_if_block$A(e){let t,n,o,r;const i=[create_if_block_1$k,create_else_block$g],a=[];function s(e,t){return e[0]&&e[0].sshAuthSock?0:1}return n=s(e),o=a[n]=i[n](e),{c(){t=element("div"),o.c(),attr(t,"class","ml-3 mb-3")},m(e,o){insert(e,t,o),a[n].m(t,null),r=!0},p(e,r){let c=n;n=s(e),n!==c&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),o=a[n],o||(o=a[n]=i[n](e),o.c()),transition_in(o,1),o.m(t,null))},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){e&&detach(t),a[n].d()}}}function create_else_block$g(e){let t,n,o;return t=new FontIcon({props:{icon:"img error"}}),{c(){create_component(t.$$.fragment),n=text$1(" SSH Agent not found")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_1$k(e){let t,n,o;return t=new FontIcon({props:{icon:"img ok"}}),{c(){create_component(t.$$.fragment),n=text$1(" SSH Agent found")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_fragment$1h(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$;t=new FormCheckboxField({props:{label:"Use SSH tunnel",name:"useSshTunnel"}}),i=new FormTextField({props:{label:"Host",name:"sshHost",disabled:!e[3],templateProps:{noMargin:!0}}}),c=new FormTextField({props:{label:"Port",name:"sshPort",disabled:!e[3],templateProps:{noMargin:!0}}}),u=new FormTextField({props:{label:"Bastion host (Jump host)",name:"sshBastionHost",disabled:!e[3]}}),p=new FormSelectField({props:{label:"SSH Authentication",name:"sshMode",isNative:!0,disabled:!e[3],options:[{value:"userPassword",label:"Username & password"},{value:"agent",label:"SSH agent"},e[5]&&{value:"keyFile",label:"Key file"}]}});let b="userPassword"!=e[1].sshMode&&create_if_block_4$6(e),v="userPassword"==e[1].sshMode&&create_if_block_3$8(e),y="keyFile"==e[1].sshMode&&create_if_block_2$b(e),x=e[3]&&"agent"==e[1].sshMode&&create_if_block$A(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),r=element("div"),create_component(i.$$.fragment),a=space(),s=element("div"),create_component(c.$$.fragment),l=space(),create_component(u.$$.fragment),d=space(),create_component(p.$$.fragment),m=space(),b&&b.c(),h=space(),v&&v.c(),f=space(),y&&y.c(),g=space(),x&&x.c(),_=empty(),attr(r,"class","col-9 mr-1"),attr(s,"class","col-3"),attr(o,"class","row svelte-10d5vjg")},m(e,w){mount_component(t,e,w),insert(e,n,w),insert(e,o,w),append(o,r),mount_component(i,r,null),append(o,a),append(o,s),mount_component(c,s,null),insert(e,l,w),mount_component(u,e,w),insert(e,d,w),mount_component(p,e,w),insert(e,m,w),b&&b.m(e,w),insert(e,h,w),v&&v.m(e,w),insert(e,f,w),y&&y.m(e,w),insert(e,g,w),x&&x.m(e,w),insert(e,_,w),$=!0},p(e,[t]){const n={};8&t&&(n.disabled=!e[3]),i.$set(n);const o={};8&t&&(o.disabled=!e[3]),c.$set(o);const r={};8&t&&(r.disabled=!e[3]),u.$set(r);const a={};8&t&&(a.disabled=!e[3]),p.$set(a),"userPassword"!=e[1].sshMode?b?(b.p(e,t),2&t&&transition_in(b,1)):(b=create_if_block_4$6(e),b.c(),transition_in(b,1),b.m(h.parentNode,h)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"userPassword"==e[1].sshMode?v?(v.p(e,t),2&t&&transition_in(v,1)):(v=create_if_block_3$8(e),v.c(),transition_in(v,1),v.m(f.parentNode,f)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),"keyFile"==e[1].sshMode?y?(y.p(e,t),2&t&&transition_in(y,1)):(y=create_if_block_2$b(e),y.c(),transition_in(y,1),y.m(g.parentNode,g)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),e[3]&&"agent"==e[1].sshMode?x?(x.p(e,t),10&t&&transition_in(x,1)):(x=create_if_block$A(e),x.c(),transition_in(x,1),x.m(_.parentNode,_)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros())},i(e){$||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(u.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in(b),transition_in(v),transition_in(y),transition_in(x),$=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(u.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out(b),transition_out(v),transition_out(y),transition_out(x),$=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),destroy_component(i),destroy_component(c),e&&detach(l),destroy_component(u,e),e&&detach(d),destroy_component(p,e),e&&detach(m),b&&b.d(e),e&&detach(h),v&&v.d(e),e&&detach(f),y&&y.d(e),e&&detach(g),x&&x.d(e),e&&detach(_)}}}function instance$1f(e,t,n){let o,r,i,a,s=noop$3;e.$$.on_destroy.push((()=>s()));const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(1,a=e)));const u=getElectron();return e.$$.update=()=>{2&e.$$.dirty&&n(3,o=a.useSshTunnel),3&e.$$.dirty&&(a.sshMode||l("sshMode","userPassword"),a.sshPort||l("sshPort","22"),!a.sshKeyfile&&i&&l("sshKeyfile",i.defaultKeyfile))},n(2,r=usePlatformInfo()),s(),s=subscribe(r,(e=>n(0,i=e))),[i,a,r,o,c,u]}class ConnectionSshTunnelFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1f,create_fragment$1h,safe_not_equal,{})}}function create_fragment$1g(e){let t,n,o,r,i,a,s,c,l,u,d,p;return t=new FormCheckboxField({props:{label:"Use SSL",name:"useSsl"}}),o=new FormElectronFileSelector({props:{label:"CA Cert (optional)",name:"sslCaFile",disabled:!e[0]||!e[2]}}),i=new FormElectronFileSelector({props:{label:"Certificate (optional)",name:"sslCertFile",disabled:!e[0]||!e[2]}}),s=new FormPasswordField({props:{label:"Certificate key file password (optional)",name:"sslCertFilePassword",disabled:!e[0]||!e[2]}}),l=new FormElectronFileSelector({props:{label:"Key file (optional)",name:"sslKeyFile",disabled:!e[0]||!e[2]}}),d=new FormCheckboxField({props:{label:"Reject unauthorized",name:"sslRejectUnauthorized",disabled:!e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment)},m(e,m){mount_component(t,e,m),insert(e,n,m),mount_component(o,e,m),insert(e,r,m),mount_component(i,e,m),insert(e,a,m),mount_component(s,e,m),insert(e,c,m),mount_component(l,e,m),insert(e,u,m),mount_component(d,e,m),p=!0},p(e,[t]){const n={};1&t&&(n.disabled=!e[0]||!e[2]),o.$set(n);const r={};1&t&&(r.disabled=!e[0]||!e[2]),i.$set(r);const a={};1&t&&(a.disabled=!e[0]||!e[2]),s.$set(a);const c={};1&t&&(c.disabled=!e[0]||!e[2]),l.$set(c);const u={};1&t&&(u.disabled=!e[0]),d.$set(u)},i(e){p||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),p=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),p=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),destroy_component(d,e)}}}function instance$1e(e,t,n){let o,r;const{values:i,setFieldValue:a}=getFormContext();component_subscribe(e,i,(e=>n(3,r=e)));const s=getElectron();return e.$$.update=()=>{8&e.$$.dirty&&n(0,o=r.useSsl)},[o,i,s,r]}class ConnectionSslFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1e,create_fragment$1g,safe_not_equal,{})}}function create_fragment$1f(e){let t,n;const o=e[3].default,r=create_slot(o,e,e[2],null);let i=[e[1]],a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);return{c(){t=element("label"),r&&r.c(),set_attributes(t,a),toggle_class(t,"disabled",e[0]),toggle_class(t,"svelte-1oyc27i",!0)},m(e,o){insert(e,t,o),r&&r.m(t,null),n=!0},p(e,[s]){r&&r.p&&(!n||4&s)&&update_slot_base(r,o,e,e[2],n?get_slot_changes(o,e[2],s,null):get_all_dirty_from_scope(e[2]),null),set_attributes(t,a=get_spread_update(i,[2&s&&e[1]])),toggle_class(t,"disabled",e[0]),toggle_class(t,"svelte-1oyc27i",!0)},i(e){n||(transition_in(r,e),n=!0)},o(e){transition_out(r,e),n=!1},d(e){e&&detach(t),r&&r.d(e)}}}function instance$1d(e,t,n){let{$$slots:o={},$$scope:r}=t,{disabled:i=!1}=t;return e.$$set=e=>{n(1,t=assign(assign({},t),exclude_internal_props(e))),"disabled"in e&&n(0,i=e.disabled),"$$scope"in e&&n(2,r=e.$$scope)},t=exclude_internal_props(t),[i,t,r,o]}class FormStyledButtonLikeLabel extends SvelteComponent{constructor(e){super(),init(this,e,instance$1d,create_fragment$1f,safe_not_equal,{disabled:0})}}function create_default_slot$t(e){let t;return{c(){t=text$1("Upload file")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1e(e){let t,n,o,r,i,a,s;return n=new FormStyledButtonLikeLabel({props:{htmlFor:"uploadFileButton",$$slots:{default:[create_default_slot$t]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("input"),attr(r,"type","file"),attr(r,"id","uploadFileButton"),r.hidden=!0,attr(t,"class","m-1")},m(c,l){insert(c,t,l),mount_component(n,t,null),append(t,o),append(t,r),i=!0,a||(s=listen(r,"change",e[0]),a=!0)},p(e,[t]){const o={};2&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),a=!1,s()}}}function instance$1c(e){return[e=>{uploadFiles([...e.target.files])}]}class UploadButton extends SvelteComponent{constructor(e){super(),init(this,e,instance$1c,create_fragment$1e,safe_not_equal,{})}}function create_default_slot_1$m(e){let t,n;return t=new FormTextField({props:{label:"URL",name:"url",style:{width:"30vw"},focused:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_header_slot$5(e){let t;return{c(){t=text$1("Download imported file from web")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$4(e){let t,n,o,r;return t=new FormSubmit({props:{value:"OK"}}),t.$on("click",e[0]),o=new FormStyledButton({props:{value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$s(e){let t,n;const o=[e[1]];let r={$$slots:{footer:[create_footer_slot$4],header:[create_header_slot$5],default:[create_default_slot_1$m]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=2&n?get_spread_update(o,[get_spread_object(e[1])]):{};8&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1d(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$s]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};10&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1b(e,t,n){const o=["onConfirm"];let r=compute_rest_props(t,o),{onConfirm:i}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(1,r=compute_rest_props(t,o)),"onConfirm"in e&&n(2,i=e.onConfirm)},[e=>{i(e.detail.url),closeCurrentModal()},r,i]}class ChangeDownloadUrlModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1b,create_fragment$1d,safe_not_equal,{onConfirm:2})}}function create_else_block$f(e){let t,n;return t=new UploadButton({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$j(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:"Browse"}}),t.$on("click",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$z(e){let t,n,o,r=e[0].database+"";return{c(){t=text$1("("),n=text$1(r),o=text$1(")")},m(e,r){insert(e,t,r),insert(e,n,r),insert(e,o,r)},p(e,t){1&t&&r!==(r=e[0].database+"")&&set_data(n,r)},d(e){e&&detach(t),e&&detach(n),e&&detach(o)}}}function create_default_slot_1$l(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v=getConnectionLabel(e[0])+"";const y=[create_if_block_1$j,create_else_block$f],x=[];s=function(e,t){return e[5]?0:1}(e),c=x[s]=y[s](e),u=new FormStyledButton({props:{value:"Web URL"}}),u.$on("click",e[6]);p=new FormStyledButton({props:{value:"From files"}}),e[11](p),p.$on("click",e[8]);let w=e[0].database&&create_if_block$z(e);return{c(){t=element("div"),n=element("strong"),n.textContent="Source:",o=space(),r=text$1(e[1]),i=space(),a=element("div"),c.c(),l=space(),create_component(u.$$.fragment),d=space(),create_component(p.$$.fragment),m=space(),h=element("div"),f=element("strong"),f.textContent="Target:",g=space(),_=text$1(v),$=space(),w&&w.c(),attr(t,"class","ml-3 mr-3 mt-3"),attr(a,"class","flex ml-3 mr-3 mb-3"),attr(h,"class","m-3")},m(e,c){insert(e,t,c),append(t,n),append(t,o),append(t,r),insert(e,i,c),insert(e,a,c),x[s].m(a,null),append(a,l),mount_component(u,a,null),append(a,d),mount_component(p,a,null),insert(e,m,c),insert(e,h,c),append(h,f),append(h,g),append(h,_),append(h,$),w&&w.m(h,null),b=!0},p(e,t){(!b||2&t)&&set_data(r,e[1]),c.p(e,t);p.$set({}),(!b||1&t)&&v!==(v=getConnectionLabel(e[0])+"")&&set_data(_,v),e[0].database?w?w.p(e,t):(w=create_if_block$z(e),w.c(),w.m(h,null)):w&&(w.d(1),w=null)},i(e){b||(transition_in(c),transition_in(u.$$.fragment,e),transition_in(p.$$.fragment,e),b=!0)},o(e){transition_out(c),transition_out(u.$$.fragment,e),transition_out(p.$$.fragment,e),b=!1},d(n){n&&detach(t),n&&detach(i),n&&detach(a),x[s].d(),destroy_component(u),e[11](null),destroy_component(p),n&&detach(m),n&&detach(h),w&&w.d()}}}function create_header_slot$4(e){let t;return{c(){t=text$1("Import database dump")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$3(e){let t,n,o,r;return t=new FormSubmit({props:{value:"Run import",disabled:!e[2]}}),t.$on("click",e[10]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const o={};4&n&&(o.disabled=!e[2]),t.$set(o)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$r(e){let t,n;const o=[e[9]];let r={$$slots:{footer:[create_footer_slot$3],header:[create_header_slot$4],default:[create_default_slot_1$l]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=512&n?get_spread_update(o,[get_spread_object(e[9])]):{};16399&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1c(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$r]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};16911&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1a(e,t,n){const o=["connection"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let a,{connection:s}=t,c="(not selected)",l=null;const u=e=>i(void 0,void 0,void 0,(function*(){closeCurrentModal(),importSqlDump(l,s)})),d=getElectron(),p=e=>{n(1,c=`uploaded: ${e.shortName}`),n(2,l=e.filePath)};onMount((()=>(setUploadListener(p),()=>{setUploadListener(null)})));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(9,r=compute_rest_props(t,o)),"connection"in e&&n(0,s=e.connection)},[s,c,l,a,u,d,()=>{showModal(ChangeDownloadUrlModal,{onConfirm:e=>i(void 0,void 0,void 0,(function*(){yield tick(),n(1,c=e),n(2,l=e)}))})},()=>i(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showOpenDialog({properties:["openFile"],filters:[{name:"SQL Files",extensions:["*.sql"]},{name:"All Files",extensions:["*"]}]});if(t&&t[0]){const e=window.require("path");n(2,l=t[0]),n(1,c=e.parse(l).name)}})),function(){return i(this,void 0,void 0,(function*(){const e=a.getBoundingClientRect(),t=e.left,o=e.bottom,r=(yield apiCall("files/list",{folder:"sql"})).map((({file:e})=>({label:e,onClick:()=>i(this,void 0,void 0,(function*(){n(2,l=yield apiCall("files/get-file-real-path",{folder:"sql",file:e})),l&&n(1,c=e)}))})));currentDropDownMenu.set({left:t,top:o,items:r})}))},r,e=>u(e.detail),function(e){binding_callbacks[e?"unshift":"push"]((()=>{a=e,n(3,a)}))}]}class ImportDatabaseDumpModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1a,create_fragment$1c,safe_not_equal,{connection:0})}}function create_if_block_1$i(e){let t,n,o,r=e[0].database+"";return{c(){t=text$1("("),n=text$1(r),o=text$1(")")},m(e,r){insert(e,t,r),insert(e,n,r),insert(e,o,r)},p(e,t){1&t&&r!==(r=e[0].database+"")&&set_data(n,r)},d(e){e&&detach(t),e&&detach(n),e&&detach(o)}}}function create_else_block$e(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:"Set download"}}),t.$on("click",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$y(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:"Browse"}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$k(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$=getConnectionLabel(e[0])+"",b=e[0].database&&create_if_block_1$i(e);const v=[create_if_block$y,create_else_block$e],y=[];return m=function(e,t){return e[4]?0:1}(e),h=y[m]=v[m](e),g=new FormStyledButton({props:{type:"button",value:"Files folder"}}),g.$on("click",e[5]),{c(){t=element("div"),n=element("strong"),n.textContent="Source:",o=space(),r=text$1($),i=space(),b&&b.c(),a=space(),s=element("div"),c=element("strong"),c.textContent="Target:",l=space(),u=text$1(e[1]),d=space(),p=element("div"),h.c(),f=space(),create_component(g.$$.fragment),attr(t,"class","m-3"),attr(s,"class","ml-3 mr-3 mt-3"),attr(p,"class","flex ml-3")},m(e,h){insert(e,t,h),append(t,n),append(t,o),append(t,r),append(t,i),b&&b.m(t,null),insert(e,a,h),insert(e,s,h),append(s,c),append(s,l),append(s,u),insert(e,d,h),insert(e,p,h),y[m].m(p,null),append(p,f),mount_component(g,p,null),_=!0},p(e,n){(!_||1&n)&&$!==($=getConnectionLabel(e[0])+"")&&set_data(r,$),e[0].database?b?b.p(e,n):(b=create_if_block_1$i(e),b.c(),b.m(t,null)):b&&(b.d(1),b=null),(!_||2&n)&&set_data(u,e[1]),h.p(e,n)},i(e){_||(transition_in(h),transition_in(g.$$.fragment,e),_=!0)},o(e){transition_out(h),transition_out(g.$$.fragment,e),_=!1},d(e){e&&detach(t),b&&b.d(),e&&detach(a),e&&detach(s),e&&detach(d),e&&detach(p),y[m].d(),destroy_component(g)}}}function create_header_slot$3(e){let t;return{c(){t=text$1("Export database dump")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$2(e){let t,n,o,r;return t=new FormSubmit({props:{value:"Run export",disabled:!e[2]}}),t.$on("click",e[9]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const o={};4&n&&(o.disabled=!e[2]),t.$set(o)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$q(e){let t,n;const o=[e[8]];let r={$$slots:{footer:[create_footer_slot$2],header:[create_header_slot$3],default:[create_default_slot_1$k]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=256&n?get_spread_update(o,[get_spread_object(e[8])]):{};16391&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1b(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};16647&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$19(e,t,n){const o=["connection"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let a,s,{connection:c}=t,l=null;function u(){return`${c.database}-${format(new Date,"yyyy-MM-dd-hh-mm-ss")}.sql`}onMount((()=>i(void 0,void 0,void 0,(function*(){const e=u();d(e)}))));const d=e=>i(void 0,void 0,void 0,(function*(){const t=yield apiCall("files/get-file-real-path",{folder:"sql",file:e});t&&(n(1,a=`SQL Files folder: ${e}`),n(2,s=t),l=null)})),p=e=>i(void 0,void 0,void 0,(function*(){closeCurrentModal(),exportSqlDump(s,c,c.database,l)})),m=getElectron();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(8,r=compute_rest_props(t,o)),"connection"in e&&n(0,c=e.connection)},[c,a,s,p,m,()=>{showModal(InputTextModal,{value:u(),label:"New file name",header:"Backup/dump database",onConfirm:e=>i(void 0,void 0,void 0,(function*(){yield tick(),d(e)}))})},()=>i(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showSaveDialog({properties:["showOverwriteConfirmation"],filters:[{name:"SQL Files",extensions:["*.sql"]},{name:"All Files",extensions:["*"]}]});if(t&&t[0]){const e=window.require("path");n(2,s=t[0]),n(1,a=e.parse(s).name),l=null}})),()=>i(void 0,void 0,void 0,(function*(){const e=yield apiCall("files/generate-uploads-file",{extension:"sql"});n(2,s=e.filePath),n(1,a="Download"),l=e.fileName})),r,e=>p(e.detail)]}class ExportDatabaseDumpModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$19,create_fragment$1b,safe_not_equal,{connection:0})}}function create_fragment$1a(e){let t,n;const o=[e[6],{data:e[0]},{title:e[0].name},{extInfo:e[0].extInfo},{icon:"img database"},{colorMark:e[1]?.connectionColorFactory&&e[1]?.connectionColorFactory({conid:_.get(e[0].connection,"_id"),database:e[0].name},null,null,!1)},{isBold:_.get(e[4],"connection._id")==_.get(e[0].connection,"_id")&&_.get(e[4],"name")==e[0].name},{menu:e[5]},{showPinnedInsteadOfUnpin:e[1]?.showPinnedInsteadOfUnpin},{onPin:e[3]?null:e[8]},{onUnpin:e[3]?e[9]:null}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[10]),t.$on("middleclick",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=123&n?get_spread_update(o,[64&n&&get_spread_object(e[6]),1&n&&{data:e[0]},1&n&&{title:e[0].name},1&n&&{extInfo:e[0].extInfo},o[4],3&n&&{colorMark:e[1]?.connectionColorFactory&&e[1]?.connectionColorFactory({conid:_.get(e[0].connection,"_id"),database:e[0].name},null,null,!1)},17&n&&{isBold:_.get(e[4],"connection._id")==_.get(e[0].connection,"_id")&&_.get(e[4],"name")==e[0].name},32&n&&{menu:e[5]},2&n&&{showPinnedInsteadOfUnpin:e[1]?.showPinnedInsteadOfUnpin},9&n&&{onPin:e[3]?null:e[8]},9&n&&{onUnpin:e[3]?e[9]:null}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$4=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const extractKey$9=e=>e.name;function getDatabaseMenuItems(e,t,n,o,r,i){var a,s,c,l,u,d;const p=filterAppsForDatabase(e,t,r);const m=lib$4.findEngineDriver(e,getExtensions()),h=_.flatten((p||[]).map((e=>e.commands||[]))),f=(null===(a=null==m?void 0:m.databaseEngineTypes)||void 0===a?void 0:a.includes("sql"))||(null===(s=null==m?void 0:m.databaseEngineTypes)||void 0===s?void 0:s.includes("document"));return[{onClick:()=>{openNewTab({title:"Query #",icon:"img sql-file",tooltip:`${getConnectionLabel(e)}\n${t}`,tabComponent:"QueryTab",props:{conid:e._id,database:t}})},text:"New query",isNewQuery:!0},(null===(c=null==m?void 0:m.databaseEngineTypes)||void 0===c?void 0:c.includes("sql"))&&{onClick:()=>{openNewTab({title:"Table #",tooltip:`${getConnectionLabel(e)}\n${t}`,icon:"img table-structure",tabComponent:"TableStructureTab",props:{conid:e._id,database:t}},{editor:{columns:[]}},{forceNewTab:!0})},text:"New table"},(null===(l=null==m?void 0:m.databaseEngineTypes)||void 0===l?void 0:l.includes("document"))&&{onClick:()=>{showModal(InputTextModal,{value:"",label:"New collection name",header:"Create collection",onConfirm:n=>__awaiter$4(this,void 0,void 0,(function*(){const o={conid:e._id,database:t};yield apiCall("database-connections/run-script",Object.assign(Object.assign({},o),{sql:`db.createCollection('${n}')`})),yield apiCall("database-connections/sync-model",o)}))})},text:"New collection"},{divider:!0},f&&!e.isReadOnly&&{onClick:()=>{showModal(ImportExportModal$1,{initialValues:{sourceStorageType:getDefaultFileFormat(n).storageType,targetStorageType:"database",targetConnectionId:e._id,targetDatabaseName:t}})},text:"Import wizard"},f&&{onClick:()=>{showModal(ImportExportModal$1,{initialValues:{targetStorageType:getDefaultFileFormat(n).storageType,sourceStorageType:"database",sourceConnectionId:e._id,sourceDatabaseName:t}})},text:"Export wizard"},(null===(u=null==m?void 0:m.databaseEngineTypes)||void 0===u?void 0:u.includes("sql"))&&{onClick:()=>{showModal(ImportDatabaseDumpModal,{connection:Object.assign(Object.assign({},e),{database:t})})},text:"Restore/import SQL dump"},(null==m?void 0:m.supportsDatabaseDump)&&{onClick:()=>{showModal(ExportDatabaseDumpModal,{connection:Object.assign(Object.assign({},e),{database:t})})},text:"Backup/export SQL dump"},{divider:!0},f&&{onClick:()=>__awaiter$4(this,void 0,void 0,(function*(){const n=yield getDatabaseInfo({conid:e._id,database:t});openNewTab({title:"Diagram #",icon:"img diagram",tabComponent:"DiagramTab",props:{conid:e._id,database:t}},{editor:{tables:n.tables.map((e=>Object.assign(Object.assign({},e),{designerId:`${e.pureName}-${v1_1$4()}`}))),references:[],autoLayout:!0}})})),text:"Show diagram"},f&&{onClick:()=>{showModal(SqlGeneratorModal,{conid:e._id,database:t})},text:"SQL Generator"},f&&{onClick:()=>__awaiter$4(this,void 0,void 0,(function*(){openJsonDocument(yield getDatabaseInfo({conid:e._id,database:t}),t)})),text:"Open model as JSON"},f&&{onClick:()=>__awaiter$4(this,void 0,void 0,(function*(){const n=yield apiCall("database-connections/export-model",{conid:e._id,database:t});currentArchive.set(n.archiveFolder),selectedWidget.set("archive"),showSnackbarSuccess(`Saved to archive ${n.archiveFolder}`)})),text:"Export DB model - experimental"},f&&_.get(o,"connection._id")&&(_.get(o,"connection._id")!=_.get(e,"_id")||_.get(o,"connection._id")==_.get(e,"_id")&&_.get(o,"name")!=_.get(e,"name"))&&{onClick:()=>{openNewTab({title:"Compare",icon:"img compare",tabComponent:"CompareModelTab"},{editor:{sourceConid:_.get(o,"connection._id"),sourceDatabase:_.get(o,"name"),targetConid:_.get(e,"_id"),targetDatabase:t}})},text:`Compare with ${_.get(o,"name")}`},(null===(d=null==m?void 0:m.databaseEngineTypes)||void 0===d?void 0:d.includes("keyvalue"))&&{onClick:()=>__awaiter$4(this,void 0,void 0,(function*(){const n=yield apiCall("database-connections/export-keys",{conid:null==e?void 0:e._id,database:t,options:{keyPrefix:""}});n.errorMessage?showSnackbarError(n.errorMessage):newQuery({title:"Export #",initialData:n})})),text:"Generate script"},(i.includes(e._id)||_.get(o,"connection._id")==_.get(e,"_id")&&_.get(o,"name")==t)&&{onClick:()=>{var n,o,r;getElectron()&&apiCall("database-connections/disconnect",{conid:e._id,database:t}),(null===(o=null===(n=getCurrentDatabase())||void 0===n?void 0:n.connection)||void 0===o?void 0:o._id)==e._id&&(null===(r=getCurrentDatabase())||void 0===r?void 0:r.name)==t&¤tDatabase.set(null),openedSingleDatabaseConnections.update((t=>t.filter((t=>t!=e._id))))},text:"Disconnect"},h.length>0&&[{divider:!0},h.map((n=>({text:n.name,onClick:()=>{showModal(ConfirmSqlModal,{sql:n.sql,onConfirm:()=>function(n){return __awaiter$4(this,void 0,void 0,(function*(){const o=yield apiCall("database-connections/run-script",{conid:e._id,database:t,sql:n}),{errorMessage:r}=o||{};r?showModal(ErrorMessageModal,{title:"Error when executing script",message:r}):showSnackbarSuccess("Saved to database")}))}(n.sql),engine:m.engine})}})))]]}function instance$18(e,t,n){let o,r;const i=["data","passProps"];let a,s,c,l,u,d=compute_rest_props(t,i),p=noop$3;component_subscribe(e,pinnedDatabases,(e=>n(7,a=e))),component_subscribe(e,openedSingleDatabaseConnections,(e=>n(12,s=e))),component_subscribe(e,currentDatabase,(e=>n(4,l=e))),component_subscribe(e,extensions,(e=>n(14,u=e))),e.$$.on_destroy.push((()=>p())),this&&this.__awaiter;let{data:m}=t,{passProps:h}=t;function f(){return getDatabaseMenuItems(m.connection,m.name,u,l,c,s)}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,d=compute_rest_props(t,i)),"data"in e&&n(0,m=e.data),"passProps"in e&&n(1,h=e.passProps)},e.$$.update=()=>{129&e.$$.dirty&&n(3,o=!!a.find((e=>{var t,n;return e.name==m.name&&(null===(t=e.connection)||void 0===t?void 0:t._id)==(null===(n=m.connection)||void 0===n?void 0:n._id)})))},n(2,r=useUsedApps()),p(),p=subscribe(r,(e=>n(13,c=e))),[m,h,r,o,l,f,d,a,()=>pinnedDatabases.update((e=>[...e,m])),()=>pinnedDatabases.update((e=>e.filter((e=>e.name!=m.name||e.connection?._id!=m.connection?._id)))),()=>set_store_value(currentDatabase,l=m,l),()=>{f().find((e=>e.isNewQuery)).onClick()}]}class DatabaseAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$18,create_fragment$1a,safe_not_equal,{data:0,passProps:1})}}var databaseAppObject=Object.freeze({__proto__:null,default:DatabaseAppObject,extractKey:extractKey$9,getDatabaseMenuItems:getDatabaseMenuItems});function getConnectionColor(e,t,n,o,r=!1,i=!0){if(!t||!e)return;const a=e.find((e=>e._id==t.conid)),{database:s}=t;let c=i||!s?null==a?void 0:a.connectionColor:null;const l=((null==a?void 0:a.databases)||[]).find((e=>e.name==s));if((null==l?void 0:l.connectionColor)&&(c=l.connectionColor),!c)return;if(null==o)return c;const u=("dark"==n?presetDarkPalettes:presetPalettes)[c][o];return r?`background:${u}`:u}function useConnectionColor(e,t,n=null,o=!1,r=!0){return derived([useConnectionList(),currentThemeDefinition],(([i,a])=>getConnectionColor(i,e,null!=n?n:null==a?void 0:a.themeType,t,o,r)))}function useConnectionColorFactory(e,t=null,n=!1,o=!0){return derived([useConnectionList(),currentThemeDefinition],(([r,i])=>(a,s=null,c=null,l=null)=>getConnectionColor(r,a,null!=t?t:null==i?void 0:i.themeType,null!=s?s:e,null!=c?c:n,null!=l?l:o)))}function get_each_context$e(e,t,n){const o=e.slice();return o[39]=t[n],o}function get_each_context_1$1(e,t,n){const o=e.slice();return o[42]=t[n],o}function create_if_block$x(e){let t,n;return t=new FontIcon({props:{icon:"icon lock"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block_1$1(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g=e[42].title+"";function _(...t){return e[28](e[42],...t)}function $(...t){return e[29](e[42],...t)}function b(...t){return e[30](e[42],...t)}function v(...t){return e[31](e[42],...t)}function y(...t){return e[32](e[42],...t)}function x(...t){return e[33](e[42],...t)}return n=new FontIcon({props:{icon:e[42].busy?"icon loading":e[42].icon}}),c=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("span"),i=text$1(g),a=space(),s=element("span"),create_component(c.$$.fragment),l=space(),attr(r,"class","file-name svelte-zohj4x"),attr(s,"class","close-button tabCloseButton svelte-zohj4x"),attr(t,"id",u=`file-tab-item-${e[42].tabid}`),attr(t,"class","file-tab-item svelte-zohj4x"),attr(t,"draggable",d=!0),toggle_class(t,"selected",e[1]||e[3]?e[42].tabid==e[2]?.tabid:e[42].selected)},m(u,d){insert(u,t,d),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),append(t,a),append(t,s),mount_component(c,s,null),append(t,l),m=!0,h||(f=[listen(s,"click",_),listen(t,"click",$),listen(t,"mouseup",b),action_destroyer(p=contextMenu.call(null,t,e[13](e[42]))),listen(t,"dragstart",v),listen(t,"dragenter",y),listen(t,"drop",x),listen(t,"dragend",e[34])],h=!0)},p(o,r){e=o;const a={};64&r[0]&&(a.icon=e[42].busy?"icon loading":e[42].icon),n.$set(a),(!m||64&r[0])&&g!==(g=e[42].title+"")&&set_data(i,g),(!m||64&r[0]&&u!==(u=`file-tab-item-${e[42].tabid}`))&&attr(t,"id",u),p&&is_function(p.update)&&64&r[0]&&p.update.call(null,e[13](e[42])),78&r[0]&&toggle_class(t,"selected",e[1]||e[3]?e[42].tabid==e[2]?.tabid:e[42].selected)},i(e){m||(transition_in(n.$$.fragment,e),transition_in(c.$$.fragment,e),m=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(c.$$.fragment,e),m=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(c),h=!1,run_all(f)}}}function create_each_block$e(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v=e[39].tabDbName+"",y=e[0]?.find(x)?.isReadOnly;function x(...t){return e[21](e[39],...t)}r=new FontIcon({props:{icon:getDbIcon(e[39].tabDbKey)}});let w=y&&create_if_block$x();function C(...t){return e[22](e[39],...t)}function k(...t){return e[23](e[39],...t)}function S(...t){return e[24](e[39],...t)}function T(...t){return e[25](e[39],...t)}function E(...t){return e[26](e[39],...t)}u=new FontIcon({props:{icon:"icon close"}});let A=e[39].tabs,D=[];for(let t=0;t<A.length;t+=1)D[t]=create_each_block_1$1(get_each_context_1$1(e,A,t));const N=e=>transition_out(D[e],1,1,(()=>{D[e]=null}));return{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=text$1(v),s=space(),w&&w.c(),c=space(),l=element("div"),create_component(u.$$.fragment),h=space(),f=element("div");for(let e=0;e<D.length;e+=1)D[e].c();g=space(),attr(o,"class","db-name-inner svelte-zohj4x"),attr(l,"class","close-button-right tabCloseButton svelte-zohj4x"),attr(n,"class","db-name svelte-zohj4x"),attr(n,"style",d=e[9](e[39].tabs[0].props,(e[3]?e[39].grpid==e[4]?.grpid:e[39].tabDbKey==e[7])?2:3)),attr(n,"draggable",p=!0),toggle_class(n,"selected",e[3]?e[39].grpid==e[4]?.grpid:e[39].tabDbKey==e[7]),attr(f,"class","db-group svelte-zohj4x"),attr(t,"class","db-wrapper svelte-zohj4x")},m(d,p){insert(d,t,p),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(o,a),append(o,s),w&&w.m(o,null),append(n,c),append(n,l),mount_component(u,l,null),append(t,h),append(t,f);for(let e=0;e<D.length;e+=1)D[e].m(f,null);append(t,g),_=!0,$||(b=[listen(l,"click",C),listen(n,"mouseup",k),action_destroyer(m=contextMenu.call(null,n,getDatabaseContextMenu(e[39].tabs))),listen(n,"dragstart",S),listen(n,"dragenter",T),listen(n,"drop",E),listen(n,"dragend",e[27])],$=!0)},p(t,i){e=t;const s={};if(64&i[0]&&(s.icon=getDbIcon(e[39].tabDbKey)),r.$set(s),(!_||64&i[0])&&v!==(v=e[39].tabDbName+"")&&set_data(a,v),65&i[0]&&(y=e[0]?.find(x)?.isReadOnly),y?w?65&i[0]&&transition_in(w,1):(w=create_if_block$x(),w.c(),transition_in(w,1),w.m(o,null)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros()),(!_||728&i[0]&&d!==(d=e[9](e[39].tabs[0].props,(e[3]?e[39].grpid==e[4]?.grpid:e[39].tabDbKey==e[7])?2:3)))&&attr(n,"style",d),m&&is_function(m.update)&&64&i[0]&&m.update.call(null,getDatabaseContextMenu(e[39].tabs)),216&i[0]&&toggle_class(n,"selected",e[3]?e[39].grpid==e[4]?.grpid:e[39].tabDbKey==e[7]),47182&i[0]){let t;for(A=e[39].tabs,t=0;t<A.length;t+=1){const n=get_each_context_1$1(e,A,t);D[t]?(D[t].p(n,i),transition_in(D[t],1)):(D[t]=create_each_block_1$1(n),D[t].c(),transition_in(D[t],1),D[t].m(f,null))}for(group_outros(),t=A.length;t<D.length;t+=1)N(t);check_outros()}},i(e){if(!_){transition_in(r.$$.fragment,e),transition_in(w),transition_in(u.$$.fragment,e);for(let e=0;e<A.length;e+=1)transition_in(D[e]);_=!0}},o(e){transition_out(r.$$.fragment,e),transition_out(w),transition_out(u.$$.fragment,e),D=D.filter(Boolean);for(let e=0;e<D.length;e+=1)transition_out(D[e]);_=!1},d(e){e&&detach(t),destroy_component(r),w&&w.d(),destroy_component(u),destroy_each(D,e),$=!1,run_all(b)}}}function create_fragment$19(e){let t,n,o,r,i,a,s,c,l=e[6],u=[];for(let t=0;t<l.length;t+=1)u[t]=create_each_block$e(get_each_context$e(e,l,t));const d=e=>transition_out(u[e],1,1,(()=>{u[e]=null}));return i=new FontIcon({props:{icon:"icon add"}}),{c(){t=element("div"),n=element("div");for(let e=0;e<u.length;e+=1)u[e].c();o=space(),r=element("div"),create_component(i.$$.fragment),attr(n,"class","tabs svelte-zohj4x"),attr(r,"class","add-icon svelte-zohj4x"),attr(r,"title","New query"),attr(t,"class","root svelte-zohj4x")},m(l,d){insert(l,t,d),append(t,n);for(let e=0;e<u.length;e+=1)u[e].m(n,null);e[35](n),append(t,o),append(t,r),mount_component(i,r,null),a=!0,s||(c=[listen(n,"wheel",e[16]),listen(r,"click",e[36])],s=!0)},p(e,t){if(64223&t[0]){let o;for(l=e[6],o=0;o<l.length;o+=1){const r=get_each_context$e(e,l,o);u[o]?(u[o].p(r,t),transition_in(u[o],1)):(u[o]=create_each_block$e(r),u[o].c(),transition_in(u[o],1),u[o].m(n,null))}for(group_outros(),o=l.length;o<u.length;o+=1)d(o);check_outros()}},i(e){if(!a){for(let e=0;e<l.length;e+=1)transition_in(u[e]);transition_in(i.$$.fragment,e),a=!0}},o(e){u=u.filter(Boolean);for(let e=0;e<u.length;e+=1)transition_out(u[e]);transition_out(i.$$.fragment,e),a=!1},d(n){n&&detach(t),destroy_each(u,n),e[35](null),destroy_component(i),s=!1,run_all(c)}}}const closeTabFunc=e=>t=>{openedTabs.update((n=>{const o=n.find((e=>e.tabid==t));if(!o)return n;const r=n.map((t=>Object.assign(Object.assign({},t),{closedTime:t.closedTime||(e(t,o)?(new Date).getTime():void 0)})));if(r.find((e=>e.selected&&null==e.closedTime)))return r;const i=_.findLastIndex(r,(e=>null==e.closedTime));return r.map(((e,t)=>Object.assign(Object.assign({},e),{selected:t==i})))}))},closeMultipleTabs=(e,t=!1)=>{openedTabs.update((n=>{const o=t?n.filter((t=>!e(t))):n.map((t=>Object.assign(Object.assign({},t),{closedTime:t.closedTime||(e(t)?(new Date).getTime():void 0)})));if(o.find((e=>e.selected&&null==e.closedTime)))return o;const r=_.findLastIndex(o,(e=>null==e.closedTime));return o.map(((e,t)=>Object.assign(Object.assign({},e),{selected:t==r})))}))},closeTab=closeTabFunc(((e,t)=>e.tabid==t.tabid)),closeAll=()=>{const e=(new Date).getTime();openedTabs.update((t=>t.map((t=>Object.assign(Object.assign({},t),{closedTime:t.closedTime||e,selected:!1})))))},closeTabsWithCurrentDb=()=>{const e=getCurrentDatabase();closeMultipleTabs((t=>{var n,o,r;return(null===(n=null==e?void 0:e.connection)||void 0===n?void 0:n._id)==(null===(o=null==t?void 0:t.props)||void 0===o?void 0:o.conid)&&(null==e?void 0:e.name)==(null===(r=null==t?void 0:t.props)||void 0===r?void 0:r.database)}))},closeTabsButCurrentDb=()=>{const e=getCurrentDatabase();closeMultipleTabs((t=>{var n,o,r;return(null===(n=null==e?void 0:e.connection)||void 0===n?void 0:n._id)!=(null===(o=null==t?void 0:t.props)||void 0===o?void 0:o.conid)||(null==e?void 0:e.name)!=(null===(r=null==t?void 0:t.props)||void 0===r?void 0:r.database)}))},closeCurrentTab=()=>{closeTab(getActiveTabId())},closeWithSameDb=closeTabFunc(((e,t)=>_.get(e,"props.conid")==_.get(t,"props.conid")&&_.get(e,"props.database")==_.get(t,"props.database"))),closeWithOtherDb=closeTabFunc(((e,t)=>_.get(e,"props.conid")!=_.get(t,"props.conid")||_.get(e,"props.database")!=_.get(t,"props.database"))),closeOthers=closeTabFunc(((e,t)=>e.tabid!=t.tabid));function getTabDbName(e,t){if("ConnectionTab"==e.tabComponent)return"Connections";if(e.props&&e.props.conid&&e.props.database)return e.props.database;if(e.props&&e.props.conid){const n=null==t?void 0:t.find((t=>t._id==e.props.conid));return n?getConnectionLabel(n,{allowExplicitDatabase:!1}):"???"}return e.props&&e.props.archiveFolder?e.props.archiveFolder:"(no DB)"}function getDbIcon(e){if(e){if(e.startsWith("database://"))return"icon database";if(e.startsWith("archive://"))return"icon archive";if(e.startsWith("server://"))return"icon server";if(e.startsWith("connections."))return"icon connection"}return"icon file"}function switchTabByOrder(e){const t=_.sortBy(get_store_value(openedTabs).filter((e=>null==e.closedTime)),"tabOrder");e&&t.reverse();const n=t.find((e=>e.selected));if(!n)return;const{tabOrder:o}=n,r=t.filter((t=>e?t.tabOrder<o:t.tabOrder>o))[0]||t[0];r&&setSelectedTab(r.tabid)}function getDatabaseContextMenu(e){const{tabid:t,props:n}=e[0],{conid:o,database:r}=n||{};return[o&&r&&[{text:`Close tabs with DB ${r}`,onClick:()=>closeWithSameDb(t)},{text:`Close tabs with other DB than ${r}`,onClick:()=>closeWithOtherDb(t)}]]}function instance$17(e,t,n){let o,r,i,a,s,c,l,u,d,p=noop$3;component_subscribe(e,openedTabs,(e=>n(18,s=e))),component_subscribe(e,currentDatabase,(e=>n(19,c=e))),component_subscribe(e,activeTabId,(e=>n(20,l=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let h=null,f=null,g=null,$=null;const b=useConnectionColorFactory(3,null,!0);component_subscribe(e,b,(e=>n(9,d=e)));const v=(e,t)=>{e.target.closest(".tabCloseButton")||setSelectedTab(t)},y=(e,t)=>{1==e.button&&(e.preventDefault(),closeTab(t))},x=e=>m(void 0,void 0,void 0,(function*(){const{conid:t,database:n}=e||{};if(t){const e=yield getConnectionInfo({conid:t,database:n});if(e)return void set_store_value(currentDatabase,c={connection:e,name:n},c)}set_store_value(currentDatabase,c=null,c)}));function w(e,t){if(e.find((e=>t.find((t=>e.tabid==t.tabid)))))return;const n=sortTabs(s.filter((e=>null==e.closedTime))),o=t.map((e=>_.findIndex(n,(t=>t.tabid==e.tabid)))),r=_.min(o),i=_.max(o),a=_.findIndex(n,(t=>t.tabid==e[0].tabid));if(a<0||r<0||i<0)return void console.warn("Drag tab index not found");const c=r<a?[...n.slice(0,r),...e,...n.slice(r).filter((t=>!e.find((e=>e.tabid==t.tabid))))]:[...n.slice(0,i+1).filter((t=>!e.find((e=>e.tabid==t.tabid)))),...e,...n.slice(i+1)];openedTabs.update((e=>e.map((e=>{const t=_.findIndex(c,(t=>t.tabid==e.tabid));return t>=0?Object.assign(Object.assign({},e),{tabOrder:t+1}):e}))))}let C;return e.$$.update=()=>{524288&e.$$.dirty[0]&&n(7,r=c&&c.name&&c.connection?`database://${c.name}-${c.connection._id}`:c&&c.connection?`server://${c.connection._id}`:"_no"),262145&e.$$.dirty[0]&&n(17,i=s.filter((e=>!e.closedTime)).map((e=>Object.assign(Object.assign({},e),{tabDbName:getTabDbName(e,u),tabDbKey:getTabDbKey(e)})))),131072&e.$$.dirty[0]&&n(6,a=groupTabs(i)),1048576&e.$$.dirty[0]&&function(e){m(this,void 0,void 0,(function*(){yield tick();const t=document.getElementById(`file-tab-item-${e}`);t&&t.scrollIntoView({block:"nearest",inline:"nearest"})}))}(l)},n(8,o=useConnectionList()),p(),p=subscribe(o,(e=>n(0,u=e))),[u,h,f,g,$,C,a,r,o,d,b,v,y,e=>()=>{const{tabid:t,props:n,tabComponent:o}=e;return[{text:"Close",onClick:()=>closeTab(t)},{text:"Close all",onClick:closeAll},{text:"Close others",onClick:()=>closeOthers(t)},{text:"Duplicate",onClick:()=>duplicateTab(e)},o&&tabs[o]&&tabs[o].allowAddToFavorites&&tabs[o].allowAddToFavorites(n)&&[{divider:!0},{text:"Add to favorites",onClick:()=>showModal(FavoriteModal,{savingTab:e})}]]},x,w,function(e){e.shiftKey||(e.preventDefault(),C.scrollBy({top:0,left:e.deltaY<0?-150:150,behavior:"smooth"}))},i,s,c,l,(e,t)=>t._id==e.tabs[0]?.props?.conid,(e,t)=>closeMultipleTabs((t=>e.tabs.find((e=>e.tabid==t.tabid)))),(e,t)=>{1==t.button?closeMultipleTabs((t=>e.tabs.find((e=>e.tabid==t.tabid)))):x(e.tabs[0].props)},(e,t)=>{n(3,g=e)},(e,t)=>{n(4,$=e)},(e,t)=>{w(g.tabs,e.tabs)},e=>{n(3,g=null),n(4,$=null)},(e,t)=>closeTab(e.tabid),(e,t)=>v(t,e.tabid),(e,t)=>y(t,e.tabid),async(e,t)=>{n(1,h=e),await tick(),setSelectedTab(e.tabid)},(e,t)=>{n(2,f=e)},(e,t)=>{h&&w([h],[e]),g&&w(g.tabs,[e])},e=>{n(1,h=null),n(2,f=null)},function(e){binding_callbacks[e?"unshift":"push"]((()=>{C=e,n(5,C)}))},()=>newQuery({})]}registerCommand({id:"tabs.nextTab",category:"Tabs",name:"Next tab",keyText:"Ctrl+Tab",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=2,onClick:()=>switchTabByOrder(!1)}),registerCommand({id:"tabs.previousTab",category:"Tabs",name:"Previous tab",keyText:"Ctrl+Shift+Tab",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=2,onClick:()=>switchTabByOrder(!0)}),registerCommand({id:"tabs.closeAll",category:"Tabs",name:"Close all tabs",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=1,onClick:closeAll}),registerCommand({id:"tabs.closeTab",category:"Tabs",name:"Close tab",keyText:isElectronAvailable()?"CtrlOrCommand+W":null,testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=1,onClick:closeCurrentTab}),registerCommand({id:"tabs.closeTabsWithCurrentDb",category:"Tabs",name:"Close tabs with current DB",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=1&&!!getCurrentDatabase(),onClick:closeTabsWithCurrentDb}),registerCommand({id:"tabs.closeTabsButCurrentDb",category:"Tabs",name:"Close tabs but current DB",testEnabled:()=>getOpenedTabs().filter((e=>!e.closedTime)).length>=1&&!!getCurrentDatabase(),onClick:closeTabsButCurrentDb}),registerCommand({id:"tabs.addToFavorites",category:"Tabs",name:"Add current tab to favorites",testEnabled:()=>{var e,t,n,o,r;return(null===(e=getActiveTab())||void 0===e?void 0:e.tabComponent)&&tabs[null===(t=getActiveTab())||void 0===t?void 0:t.tabComponent]&&tabs[null===(n=getActiveTab())||void 0===n?void 0:n.tabComponent].allowAddToFavorites&&tabs[null===(o=getActiveTab())||void 0===o?void 0:o.tabComponent].allowAddToFavorites(null===(r=getActiveTab())||void 0===r?void 0:r.props)},onClick:()=>showModal(FavoriteModal,{savingTab:getActiveTab()})});class TabsPanel extends SvelteComponent{constructor(e){super(),init(this,e,instance$17,create_fragment$19,safe_not_equal,{},null,[-1,-1])}}function create_fragment$18(e){let t,n;const o=[e[12],{data:e[0]},{title:getConnectionLabel(e[0],{showUnsaved:!0})},{icon:e[0].singleDatabase?"img database":"img server"},{isBold:e[0].singleDatabase?_.get(e[8],"connection._id")==e[0]._id&&_.get(e[8],"name")==e[0].defaultDatabase:_.get(e[8],"connection._id")==e[0]._id},{statusIcon:e[2]||e[5]},{statusTitle:e[3]||e[6]},{statusIconBefore:e[0].isReadOnly?"icon lock":null},{extInfo:e[4]},{colorMark:e[1]?.connectionColorFactory&&e[1]?.connectionColorFactory({conid:e[0]._id})},{menu:e[11]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[10]),t.$on("click",e[15]),t.$on("expand",e[16]),t.$on("dblclick",e[9]),t.$on("middleclick",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=6527&n?get_spread_update(o,[4096&n&&get_spread_object(e[12]),1&n&&{data:e[0]},1&n&&{title:getConnectionLabel(e[0],{showUnsaved:!0})},1&n&&{icon:e[0].singleDatabase?"img database":"img server"},257&n&&{isBold:e[0].singleDatabase?_.get(e[8],"connection._id")==e[0]._id&&_.get(e[8],"name")==e[0].defaultDatabase:_.get(e[8],"connection._id")==e[0]._id},36&n&&{statusIcon:e[2]||e[5]},72&n&&{statusTitle:e[3]||e[6]},1&n&&{statusIconBefore:e[0].isReadOnly?"icon lock":null},16&n&&{extInfo:e[4]},3&n&&{colorMark:e[1]?.connectionColorFactory&&e[1]?.connectionColorFactory({conid:e[0]._id})},2048&n&&{menu:e[11]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$8=e=>e._id,createMatcher$5=e=>t=>{const{_id:n,displayName:o,server:r}=e,i=getLocalStorage(`database_list_${n}`)||[];return lib$4.filterName(t,o,r,...i.map((e=>e.name)))},createChildMatcher=e=>t=>{if(!t)return!1;const{_id:n}=e,o=getLocalStorage(`database_list_${n}`)||[];return lib$4.filterName(t,...o.map((e=>e.name)))};function openConnection(e){e.singleDatabase?(currentDatabase.set({connection:e,name:e.defaultDatabase}),apiCall("database-connections/refresh",{conid:e._id,database:e.defaultDatabase,keepOpen:!0}),openedSingleDatabaseConnections.update((t=>_.uniq([...t,e._id])))):(openedConnections.update((t=>_.uniq([...t,e._id]))),apiCall("server-connections/refresh",{conid:e._id,keepOpen:!0}),expandedConnections.update((t=>_.uniq([...t,e._id])))),closeMultipleTabs((t=>"ConnectionTab"==t.tabComponent&&t.props?.conid==e._id),!0)}function instance$16(e,t,n){let o;const r=["data","passProps"];let i,a,s,c,l,u=compute_rest_props(t,r),d=noop$3;component_subscribe(e,openedConnections,(e=>n(13,i=e))),component_subscribe(e,extensions,(e=>n(14,a=e))),component_subscribe(e,openedSingleDatabaseConnections,(e=>n(18,s=e))),component_subscribe(e,currentDatabase,(e=>n(8,l=e))),e.$$.on_destroy.push((()=>d()));let{data:p}=t,{passProps:m}=t,h=null,f=null,g=null,$=null,b=null;const v=getElectron(),y=()=>{openConnection(p)},x=()=>{openNewTab({title:getConnectionLabel(p),icon:"img connection",tabComponent:"ConnectionTab",props:{conid:p._id}})},w=()=>{showModal(ImportDatabaseDumpModal,{connection:p})},C=()=>{var e;const t=a.drivers.find((e=>e.engine==p.engine));return[0==getCurrentConfig().runAsPortal&&[!i.includes(p._id)&&{text:"Edit",onClick:x},!i.includes(p._id)&&{text:"Delete",onClick:()=>{showModal(ConfirmModal,{message:`Really delete connection ${getConnectionLabel(p)}?`,onConfirm:()=>apiCall("connections/delete",p)})}},{text:"Duplicate",onClick:()=>{apiCall("connections/save",Object.assign(Object.assign({},p),{_id:void 0,displayName:`${getConnectionLabel(p)} - copy`}))}}],!p.singleDatabase&&[!i.includes(p._id)&&{text:"Connect",onClick:y},{onClick:()=>{openNewTab({title:"Query #",icon:"img sql-file",tooltip:`${getConnectionLabel(p)}`,tabComponent:"QueryTab",props:{conid:p._id}})},text:"New query",isNewQuery:!0},i.includes(p._id)&&p.status&&{text:"Refresh",onClick:()=>{apiCall("server-connections/refresh",{conid:p._id})}},i.includes(p._id)&&{text:"Disconnect",onClick:()=>{openedConnections.update((e=>e.filter((e=>e!=p._id)))),v&&apiCall("server-connections/disconnect",{conid:p._id}),_.get(l,"connection._id")==p._id&&(v&&apiCall("database-connections/disconnect",{conid:p._id,database:l.name}),currentDatabase.set(null)),closeMultipleTabs((e=>e.props.conid==p._id)),p.unsaved&&openNewTab({title:"New Connection",icon:"img connection",tabComponent:"ConnectionTab",props:{conid:p._id}})}},i.includes(p._id)&&(null==t?void 0:t.supportedCreateDatabase)&&!p.isReadOnly&&{text:"Create database",onClick:()=>{showModal(InputTextModal,{header:"Create database",value:"newdb",label:"Database name",onConfirm:e=>apiCall("server-connections/create-database",{conid:p._id,name:e})})}}],p.singleDatabase&&[{divider:!0},getDatabaseMenuItems(p,p.defaultDatabase,a,l,c,s)],(null===(e=null==t?void 0:t.databaseEngineTypes)||void 0===e?void 0:e.includes("sql"))&&{onClick:w,text:"Restore/import SQL dump"}]};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(12,u=compute_rest_props(t,r)),"data"in e&&n(0,p=e.data),"passProps"in e&&n(1,m=e.passProps)},e.$$.update=()=>{if(16385&e.$$.dirty)if(a.drivers.find((e=>e.engine==p.engine))){const e=(p.engine||"").match(/^([^@]*)@/);n(4,g=e?e[1]:p.engine),n(5,$=null),n(6,b=null)}else n(4,g=p.engine),n(5,$="img warn"),n(6,b=`Engine driver ${p.engine} not found, review installed plugins and change engine in edit connection dialog`);if(8193&e.$$.dirty){const{_id:e,status:t}=p;i.includes(e)?(t?"pending"==t.name?n(2,h="icon loading"):"ok"==t.name?n(2,h="img ok"):n(2,h="img error"):n(2,h="icon loading"),t&&"error"==t.name&&n(3,f=t.message)):(n(2,h=null),n(3,f=null))}},n(7,o=useUsedApps()),d(),d=subscribe(o,(e=>n(19,c=e))),[p,m,h,f,g,$,b,o,l,y,()=>{s.includes(p._id)?currentDatabase.set({connection:p,name:p.defaultDatabase}):i.includes(p._id)||x()},C,u,i,a,function(t){bubble.call(this,e,t)},function(t){bubble.call(this,e,t)},()=>{_.flattenDeep(C()).find((e=>e.isNewQuery)).onClick()}]}class ConnectionAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$16,create_fragment$18,safe_not_equal,{data:0,passProps:1})}}var connectionAppObject=Object.freeze({__proto__:null,default:ConnectionAppObject,extractKey:extractKey$8,createMatcher:createMatcher$5,createChildMatcher:createChildMatcher,openConnection:openConnection});function create_if_block$w(e){let t,n,o,r,i,a,s,c,l,u,d,p,m;o=new FormButton({props:{value:"Connect"}}),o.$on("click",e[8]);const h=[create_if_block_4$5,create_else_block$d],f=[];function g(e,t){return e[1]?0:1}i=g(e),a=f[i]=h[i](e),c=new FormButton({props:{value:"Save"}}),c.$on("click",e[7]);let _=!e[1]&&e[2]&&"connected"==e[2].msgtype&&create_if_block_3$7(e),$=!e[1]&&e[2]&&"error"==e[2].msgtype&&create_if_block_2$a(e),b=e[1]&&create_if_block_1$h();return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),a.c(),s=space(),create_component(c.$$.fragment),l=space(),u=element("div"),_&&_.c(),d=space(),$&&$.c(),p=space(),b&&b.c(),attr(n,"class","buttons svelte-1bbccjw"),attr(u,"class","test-result svelte-1bbccjw"),attr(t,"class","flex")},m(e,a){insert(e,t,a),append(t,n),mount_component(o,n,null),append(n,r),f[i].m(n,null),append(n,s),mount_component(c,n,null),append(t,l),append(t,u),_&&_.m(u,null),append(u,d),$&&$.m(u,null),append(u,p),b&&b.m(u,null),m=!0},p(e,t){let o=i;i=g(e),i===o?f[i].p(e,t):(group_outros(),transition_out(f[o],1,1,(()=>{f[o]=null})),check_outros(),a=f[i],a?a.p(e,t):(a=f[i]=h[i](e),a.c()),transition_in(a,1),a.m(n,s)),!e[1]&&e[2]&&"connected"==e[2].msgtype?_?(_.p(e,t),6&t&&transition_in(_,1)):(_=create_if_block_3$7(e),_.c(),transition_in(_,1),_.m(u,d)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),!e[1]&&e[2]&&"error"==e[2].msgtype?$?($.p(e,t),6&t&&transition_in($,1)):($=create_if_block_2$a(e),$.c(),transition_in($,1),$.m(u,p)):$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()),e[1]?b?2&t&&transition_in(b,1):(b=create_if_block_1$h(),b.c(),transition_in(b,1),b.m(u,null)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros())},i(e){m||(transition_in(o.$$.fragment,e),transition_in(a),transition_in(c.$$.fragment,e),transition_in(_),transition_in($),transition_in(b),m=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a),transition_out(c.$$.fragment,e),transition_out(_),transition_out($),transition_out(b),m=!1},d(e){e&&detach(t),destroy_component(o),f[i].d(),destroy_component(c),_&&_.d(),$&&$.d(),b&&b.d()}}}function create_else_block$d(e){let t,n;return t=new FormButton({props:{value:"Test"}}),t.$on("click",e[5]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$5(e){let t,n;return t=new FormButton({props:{value:"Cancel test"}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$7(e){let t,n,o,r,i,a,s=e[2].version+"";return o=new FontIcon({props:{icon:"img ok"}}),{c(){t=element("div"),n=text$1("Connected: "),create_component(o.$$.fragment),r=space(),i=text$1(s)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),a=!0},p(e,t){(!a||4&t)&&s!==(s=e[2].version+"")&&set_data(i,s)},i(e){a||(transition_in(o.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block_2$a(e){let t,n,o,r,i,a,s,c,l=e[2].error+"";return o=new FontIcon({props:{icon:"img error"}}),s=new Link$1({props:{onClick:e[14],$$slots:{default:[create_default_slot_1$j]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=text$1("Connect failed: "),create_component(o.$$.fragment),r=space(),i=text$1(l),a=space(),create_component(s.$$.fragment),attr(t,"class","error-result svelte-1bbccjw")},m(e,l){insert(e,t,l),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||4&t)&&l!==(l=e[2].error+"")&&set_data(i,l);const n={};4&t&&(n.onClick=e[14]),262144&t&&(n.$$scope={dirty:t,ctx:e}),s.$set(n)},i(e){c||(transition_in(o.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(s)}}}function create_default_slot_1$j(e){let t;return{c(){t=text$1("Show detail")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_1$h(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon loading"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Testing connection")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_default_slot$p(e){let t,n,o,r;n=new TabControl({props:{isInline:!0,containerMaxWidth:"800px",flex1:!1,tabs:[{label:"General",component:ConnectionDriverFields},e[3]?.showConnectionTab("sshTunnel",e[0])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[3]?.showConnectionTab("ssl",e[0])&&{label:"SSL",component:ConnectionSslFields}]}});let i=e[3]&&create_if_block$w(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","wrapper svelte-1bbccjw")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,o){const r={};9&o&&(r.tabs=[{label:"General",component:ConnectionDriverFields},e[3]?.showConnectionTab("sshTunnel",e[0])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[3]?.showConnectionTab("ssl",e[0])&&{label:"SSL",component:ConnectionSslFields}]),n.$set(r),e[3]?i?(i.p(e,o),8&o&&transition_in(i,1)):(i=create_if_block$w(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_fragment$17(e){let t,n;return t=new FormProviderCore({props:{template:FormFieldTemplateLarge,values:e[4],$$slots:{default:[create_default_slot$p]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};262159&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const matchingProps=["conid"];function instance$15(e,t,n){let o,r,i,a;component_subscribe(e,extensions,(e=>n(13,a=e)));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let c,l,{connection:u}=t,{tabid:d}=t,{conid:p}=t;const m=writable(u||{server:getCurrentConfig().isDocker?"dockerhost":"localhost",engine:""});component_subscribe(e,m,(e=>n(0,i=e)));const h=createRef(0);function f(){const e=["databaseFile","useDatabaseUrl","databaseUrl","authType","server","port","user","password","defaultDatabase","singleDatabase"],t=e.filter((e=>null==r?void 0:r.showConnectionField(e,i))),n=_.difference(e,t);i.defaultDatabase||n.push("singleDatabase");let o=_.omit(i,n);return(null==r?void 0:r.beforeConnectionSave)&&(o=null==r?void 0:r.beforeConnectionSave(o)),(null==r?void 0:r.showConnectionTab("sshTunnel",i))?i.useSshTunnel||(o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))):(o=_.omit(o,["useSshTunnel"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))),(null==r?void 0:r.showConnectionTab("ssl",i))?i.useSsl||(o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))):(o=_.omit(o,["useSsl"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))),o}onMount((()=>s(void 0,void 0,void 0,(function*(){p&&set_store_value(m,i=yield apiCall("connections/get",{conid:p}),i)}))));return e.$$set=e=>{"connection"in e&&n(9,u=e.connection),"tabid"in e&&n(10,d=e.tabid),"conid"in e&&n(11,p=e.conid)},e.$$.update=()=>{1&e.$$.dirty&&n(12,o=i.engine),12288&e.$$.dirty&&n(3,r=a.drivers.find((e=>e.engine==o)))},[i,c,l,r,m,function(e){return s(this,void 0,void 0,(function*(){n(1,c=!0),h.update((e=>e+1));const t=h.get(),o=yield apiCall("connections/test",e.detail);h.get()==t&&(n(1,c=!1),n(2,l=o))}))},function(){h.update((e=>e+1)),n(1,c=!1)},function(){return s(this,void 0,void 0,(function*(){let e=f();e=Object.assign(Object.assign({},e),{unsaved:!1});const t=yield apiCall("connections/save",e);set_store_value(m,i=Object.assign(Object.assign({},i),{_id:t._id,unsaved:!1}),i),changeTab(d,(e=>Object.assign(Object.assign({},e),{title:getConnectionLabel(t),props:Object.assign(Object.assign({},e.props),{conid:t._id})}))),showSnackbarSuccess("Connection saved")}))},function(){return s(this,void 0,void 0,(function*(){let e=f();e._id||(e=Object.assign(Object.assign({},e),{unsaved:!e._id}));openConnection(yield apiCall("connections/save",e)),closeMultipleTabs((e=>e.tabid==d),!0)}))},u,d,p,o,a,()=>showModal(ErrorMessageModal,{message:l.detail,showAsCode:!0,title:"Database connection error"})]}class ConnectionTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$15,create_fragment$17,safe_not_equal,{connection:9,tabid:10,conid:11})}}var ConnectionTab$1=Object.freeze({__proto__:null,default:ConnectionTab,matchingProps:matchingProps}),tabs={TableDataTab:TableDataTab$1,CollectionDataTab:CollectionDataTab$1,ViewDataTab:ViewDataTab$1,TableStructureTab:TableStructureTab$1,QueryTab:QueryTab$1,ShellTab:ShellTab$1,ArchiveFileTab:ArchiveFileTab$1,FreeTableTab:FreeTableTab$1,PluginTab:PluginTab$1,ChartTab:ChartTab$1,MarkdownEditorTab:MarkdownEditorTab$1,MarkdownViewTab:MarkdownViewTab$1,MarkdownPreviewTab:MarkdownPreviewTab$1,FavoriteEditorTab:FavoriteEditorTab$1,QueryDesignTab:QueryDesignTab$1,CommandListTab:CommandListTab$1,YamlEditorTab:YamlEditorTab$1,JsonEditorTab:JsonEditorTab$1,JsonLinesEditorTab:JsonLinesEditorTab$1,CompareModelTab:CompareModelTab$1,JsonTab:JsonTab$1,ChangelogTab:ChangelogTab$1,DiagramTab:DiagramTab$1,DbKeyDetailTab:DbKeyDetailTab$1,QueryDataTab:QueryDataTab$1,ConnectionTab:ConnectionTab$1};function findFreeNumber(e){return 0==e.length?1:_.max(e)+1}function openNewTab(e,t,n){return __awaiter$h(this,void 0,void 0,(function*(){const o=get_store_value(openedTabs);let r=null;const{savedFile:i,savedFolder:a,savedFilePath:s}=e.props||{};(i||s)&&(r=o.find((t=>t.props&&t.tabComponent==e.tabComponent&&null==t.closedTime&&t.props.savedFile==i&&t.props.savedFolder==a&&t.props.savedFilePath==s)));const{forceNewTab:c}=n||{},l=tabs[e.tabComponent];if(!r&&!c&&l&&l.matchingProps){const t=jsonStableStringify(_.pick(e.props||{},l.matchingProps));r=o.find((n=>n.props&&n.tabComponent==e.tabComponent&&null==n.closedTime&&jsonStableStringify(_.pick(n.props||{},l.matchingProps))==t))}if(r)return void openedTabs.update((e=>setSelectedTabFunc(e,r.tabid)));if(e.title.endsWith("#")){const t=o.filter((t=>null==t.closedTime&&t.title&&t.title.startsWith(e.title))).map((t=>parseInt(t.title.substring(e.title.length))));e.title=`${e.title}${findFreeNumber(t)}`}const u=v1_1$4();if(t)for(const e of _.keys(t))"editor"==e?yield localforage.setItem(`tabdata_${e}_${u}`,t[e]):localStorage.setItem(`tabdata_${e}_${u}`,JSON.stringify(t[e]));openedTabs.update((t=>{const n=getTabDbKey(e),o=sortTabs(t.filter((e=>null==e.closedTime))),r=Object.assign(Object.assign({},e),{tabid:u});if(null!=n){const e=_.findLastIndex(o,(e=>getTabDbKey(e)==n));e>=0?o.splice(e+1,0,r):o.push(r)}else o.push(r);return[...(t||[]).map((e=>Object.assign(Object.assign({},e),{selected:!1,tabOrder:_.findIndex(o,(t=>t.tabid==e.tabid))}))),Object.assign(Object.assign({},e),{tabid:u,selected:!0,tabOrder:_.findIndex(o,(e=>e.tabid==u))})]}))}))}function duplicateTab(e){return __awaiter$h(this,void 0,void 0,(function*(){yield saveAllPendingEditorData();let t=e.title;const n=t.match(/^(.*#)[\d]+$/);n&&(t=n[1]);const o=/^tabdata_([^_]+)_([^_]+)$/,r={};for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t),i=n.match(o);i&&i[2]==e.tabid&&(r[i[1]]=JSON.parse(localStorage.getItem(n)))}for(const t of yield localforage.keys()){const n=t.match(o);n&&n[2]==e.tabid&&(r[n[1]]=yield localforage.getItem(t))}openNewTab(Object.assign(Object.assign({},_.omit(e,["tabid"])),{title:t}),r,{forceNewTab:!0})}))}function getTabDbKey(e){return"ConnectionTab"==e.tabComponent?"connections.":e.props&&e.props.conid&&e.props.database?`database://${e.props.database}-${e.props.conid}`:e.props&&e.props.conid?`server://${e.props.conid}`:e.props&&e.props.archiveFolder?`archive://${e.props.archiveFolder}`:null}function sortTabs(e){return _.sortBy(e,[e=>e.tabOrder||0,e=>getTabDbKey(e),"title","tabid"])}function groupTabs(e){const t=[];for(const n of sortTabs(e)){const e=t[t.length-1];e&&n.tabDbKey&&e.tabDbKey==n.tabDbKey?e.tabs.push(n):t.push({tabDbKey:n.tabDbKey,tabDbName:n.tabDbName,tabs:[n],grpid:n.tabid})}return t}function newQuery(e={}){var{tabComponent:t="QueryTab",icon:n="img sql-file",title:o,initialData:r}=e,i=__rest(e,["tabComponent","icon","title","initialData"]);const a=get_store_value(currentDatabase),s=_.get(a,"connection")||{},c=_.get(a,"name");openNewTab({title:o||"Query #",icon:n,tooltip:`${getConnectionLabel(s)}\n${c}`,tabComponent:t,props:Object.assign(Object.assign({},i),{conid:s._id,database:c})},{editor:r})}function create_fragment$16(e){let t,n;const o=[e[4],{data:e[0]},{icon:e[1]?.icon},{title:e[0]?.file},{menu:e[2]()}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",(function(){is_function(e[1]?.tabComponent&&e[3])&&(e[1]?.tabComponent&&e[3]).apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,[r]){e=n;const i=23&r?get_spread_update(o,[16&r&&get_spread_object(e[4]),1&r&&{data:e[0]},2&r&&{icon:e[1]?.icon},1&r&&{title:e[0]?.file},4&r&&{menu:e[2]()}]):{};t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const sql={icon:"img sql-file",format:"text",tabComponent:"QueryTab",folder:"sql",currentConnection:!0},shell={icon:"img shell",format:"text",tabComponent:"ShellTab",folder:"shell",currentConnection:!1},markdown={icon:"img markdown",format:"text",tabComponent:"MarkdownEditorTab",folder:"markdown",currentConnection:!1},charts={icon:"img chart",format:"json",tabComponent:"ChartTab",folder:"charts",currentConnection:!0},query={icon:"img query-design",format:"json",tabComponent:"QueryDesignTab",folder:"query",currentConnection:!0},sqlite={icon:"img sqlite-database",format:"binary",tabComponent:null,folder:"sqlite",currentConnection:!0},diagrams={icon:"img diagram",format:"json",tabComponent:"DiagramTab",folder:"diagrams",currentConnection:!0},SAVED_FILE_HANDLERS={sql:sql,shell:shell,markdown:markdown,charts:charts,query:query,sqlite:sqlite,diagrams:diagrams},extractKey$7=e=>e.file,createMatcher$4=({file:e})=>t=>lib$4.filterName(t,e);function instance$14(e,t,n){let o,r;const i=["data"];let a,s=compute_rest_props(t,i);component_subscribe(e,currentDatabase,(e=>n(6,a=e)));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:l}=t;const u=()=>{openNewTab({title:l.file,icon:"img markdown",tabComponent:"MarkdownViewTab",props:{savedFile:l.file,savedFolder:"markdown",savedFormat:"text"}})};const d=()=>{showModal(ConfirmModal,{message:`Really delete file ${l.file}?`,onConfirm:()=>{apiCall("files/delete",l)}})},p=()=>{showModal(InputTextModal,{value:l.file,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("files/rename",Object.assign(Object.assign({},l),{newFile:e}))}})},m=()=>{showModal(InputTextModal,{value:l.file,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("files/copy",Object.assign(Object.assign({},l),{newFile:e}))}})};function h(){return c(this,void 0,void 0,(function*(){const e=yield apiCall("files/load",{folder:o,file:l.file,format:r.format}),t={};let n;if(r.currentConnection){const e=_.get(a,"connection")||{},o=_.get(a,"name");t.conid=e._id,t.database=o,n=`${getConnectionLabel(e)}\n${o}`}openNewTab({title:l.file,icon:r.icon,tabComponent:r.tabComponent,tooltip:n,props:Object.assign({savedFile:l.file,savedFolder:r.folder,savedFormat:r.format},t)},{editor:e})}))}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,s=compute_rest_props(t,i)),"data"in e&&n(0,l=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(5,o=null==l?void 0:l.folder),32&e.$$.dirty&&n(1,r=SAVED_FILE_HANDLERS[o])},[l,r,function(){return[(null==r?void 0:r.tabComponent)&&{text:"Open",onClick:h},hasPermission(`files/${l.folder}/write`)&&{text:"Rename",onClick:p},hasPermission(`files/${l.folder}/write`)&&{text:"Create copy",onClick:m},hasPermission(`files/${l.folder}/write`)&&{text:"Delete",onClick:d},"markdown"==o&&{text:"Show page",onClick:u}]},h,s,o]}class SavedFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$14,create_fragment$16,safe_not_equal,{data:0})}}var savedFileAppObject=Object.freeze({__proto__:null,default:SavedFileAppObject,SAVED_FILE_HANDLERS:SAVED_FILE_HANDLERS,extractKey:extractKey$7,createMatcher:createMatcher$4});function canOpenByElectron(e,t){var n;if(!e)return!1;const o=e.toLowerCase();if(o.endsWith(".sql"))return!0;if(o.endsWith(".diagram"))return!0;if(o.endsWith(".db")||o.endsWith(".sqlite")||o.endsWith(".sqlite3"))return!0;for(const e of t.fileFormats){if(o.endsWith(`.${e.extension}`))return!0;if(null===(n=e.extensions)||void 0===n?void 0:n.find((e=>o.endsWith(`.${e}`))))return!0}return!1}function openSqliteFile(e){return __awaiter$h(this,void 0,void 0,(function*(){const t=getDatabaseFileLabel(e),n=yield apiCall("connections/save",{_id:void 0,databaseFile:e,engine:"sqlite@dbgate-plugin-sqlite",singleDatabase:!0,defaultDatabase:t});currentDatabase.set({connection:n,name:getDatabaseFileLabel(e)})}))}function getFileEncoding(e,t){var n=Buffer.alloc(5),o=t.openSync(e,"r");t.readSync(o,n,0,5,0),t.closeSync(o);let r=null;return r||239!==n[0]||187!==n[1]||191!==n[2]||(r="utf8"),r||254!==n[0]||255!==n[1]||(r="utf16be"),r||255!==n[0]||254!==n[1]||(r="utf16le"),r||(r="ascii"),r}function openElectronJsonLinesFile(e,t){openNewTab({title:t.name,tooltip:e,icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:`file://${e}`}})}function openSavedElectronFile(e,t,n){var o;return __awaiter$h(this,void 0,void 0,(function*(){const r=SAVED_FILE_HANDLERS[n],i=yield apiCall("files/load-from",{filePath:e,format:r.format}),a={};let s;const c=getCurrentDatabase();if(r.currentConnection){const e=(null==c?void 0:c.connection)||{},t=null==c?void 0:c.name;a.conid=null===(o=null==c?void 0:c.connection)||void 0===o?void 0:o._id,a.database=t,s=`${getConnectionLabel(e)}\n${t}`}openNewTab({title:t.name,icon:r.icon,tabComponent:r.tabComponent,tooltip:s,props:Object.assign({savedFile:null,savedFolder:null,savedFilePath:e,savedFormat:r.format},a)},{editor:i})}))}function openElectronFileCore(e,t){const n=e.toLowerCase(),o=window.require("path"),r=window.require("fs"),i=o.parse(e),a=getUploadListener();if(n.endsWith(".sql")){const t=getFileEncoding(e,r),n=r.readFileSync(e,{encoding:t});newQuery({title:i.name,initialData:n,savedFilePath:e,savedFormat:"text"})}else if(n.endsWith(".db")||n.endsWith(".sqlite")||n.endsWith(".sqlite"))openSqliteFile(e);else if(n.endsWith(".jsonl")||n.endsWith(".ndjson"))openElectronJsonLinesFile(e,i);else if(n.endsWith(".diagram"))openSavedElectronFile(e,i,"diagrams");else for(const o of t.fileFormats)n.endsWith(`.${o.extension}`)&&(a?a({filePath:e,storageType:o.storageType,shortName:i.name}):showModal(ImportExportModal$1,{openedFile:{filePath:e,storageType:o.storageType,shortName:i.name},importToCurrentTarget:!0,initialValues:{sourceStorageType:o.storageType}}))}function getFileFormatFilters(e){return e.fileFormats.filter((e=>e.readerFunc)).map((e=>({name:e.name,extensions:e.extensions||[e.extension]})))}function getFileFormatExtensions(e){return _.flatten(e.fileFormats.filter((e=>e.readerFunc)).map((e=>e.extensions||[e.extension])))}function openElectronFile(){return __awaiter$h(this,void 0,void 0,(function*(){const e=getElectron(),t=get_store_value(extensions),n=yield e.showOpenDialog({filters:[{name:"All supported files",extensions:["sql","sqlite","db","sqlite3","diagram",...getFileFormatExtensions(t)]},{name:"SQL files",extensions:["sql"]},{name:"Diagram files",extensions:["diagram"]},{name:"SQLite database",extensions:["sqlite","db","sqlite3"]},...getFileFormatFilters(t)],properties:["showHiddenFiles","openFile"]}),o=n&&n[0];canOpenByElectron(o,t)&&openElectronFileCore(o,t)}))}let uploadListener;function setUploadListener(e){uploadListener=e}function getUploadListener(){return uploadListener}function uploadFiles(e){const t=get_store_value(extensions),n=getElectron();e.forEach((e=>__awaiter$h(this,void 0,void 0,(function*(){if(n&&canOpenByElectron(e.path,t))return void openElectronFileCore(e.path,t);const o=33554432;if(parseInt(e.size,10)>=o)return void showModal(ErrorMessageModal,{title:"Upload error",message:`File is too big, current size is ${Math.round(e.size/1024).toLocaleString()} KB, max allowed size is ${Math.round(32768).toLocaleString()} KB`});const r=new FormData;r.append("data",e);const i={method:"POST",body:r},a=resolveApi(),s=yield fetch(`${a}/uploads/upload`,i),c=yield s.json();if(c.shortName=e.name,e.name.endsWith(".jsonl")||e.name.endsWith(".ndjson"))openNewTab({title:c.shortName,icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:`file://${c.filePath}`}});else{for(const n of t.fileFormats)e.name.endsWith("."+n.extension)&&(c.shortName=e.name.slice(0,-n.extension.length-1),c.storageType=n.storageType);uploadListener?uploadListener(c):findFileFormat(t,c.storageType)&&showModal(ImportExportModal$1,{uploadedFile:c,importToCurrentTarget:!0,initialValues:{sourceStorageType:c.storageType}})}}))))}function create_fragment$15(e){let t,n;return t=new SelectField({props:{options:e[2],isNative:!0,value:e[1][`actionType_${e[0]}`]||e[2][0].value}}),t.$on("change",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.options=e[2]),7&n&&(o.value=e[1][`actionType_${e[0]}`]||e[2][0].value),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$13(e,t,n){let o,r,i;component_subscribe(e,extensions,(e=>n(6,i=e)));let{name:a}=t,{targetDbinfo:s}=t;const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(1,r=e)));return e.$$set=e=>{"name"in e&&n(0,a=e.name),"targetDbinfo"in e&&n(5,s=e.targetDbinfo)},e.$$.update=()=>{99&e.$$.dirty&&n(2,o=getActionOptions(i,a,r))},[a,r,o,c,l,s,i,e=>l(`actionType_${a}`,e.detail)]}class SourceAction extends SvelteComponent{constructor(e){super(),init(this,e,instance$13,create_fragment$15,safe_not_equal,{name:0,targetDbinfo:5})}}function create_if_block$v(e){let t,n,o,r,i,a;return n=new FontIcon({props:{icon:"icon web"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","icon svelte-170ou0a"),attr(t,"title",o=e[1]&&e[1].fileName)},m(o,s){insert(o,t,s),mount_component(n,t,null),r=!0,i||(a=listen(t,"click",e[4]),i=!0)},p(e,n){(!r||2&n&&o!==(o=e[1]&&e[1].fileName))&&attr(t,"title",o)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),i=!1,a()}}}function create_fragment$14(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[1]&&!!e[1].isDownload&&create_if_block$v(e);return c=new FontIcon({props:{icon:"icon delete"}}),{c(){t=element("div"),n=element("div"),o=text$1(e[0]),r=space(),i=element("div"),p&&p.c(),a=space(),s=element("div"),create_component(c.$$.fragment),attr(s,"class","icon svelte-170ou0a"),attr(i,"class","flex"),attr(t,"class","flex space-between")},m(m,h){insert(m,t,h),append(t,n),append(n,o),append(t,r),append(t,i),p&&p.m(i,null),append(i,a),append(i,s),mount_component(c,s,null),l=!0,u||(d=listen(s,"click",e[3]),u=!0)},p(e,[t]){(!l||1&t)&&set_data(o,e[0]),e[1]&&e[1].isDownload?p?(p.p(e,t),2&t&&transition_in(p,1)):(p=create_if_block$v(e),p.c(),transition_in(p,1),p.m(i,a)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){l||(transition_in(p),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(p),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),p&&p.d(),destroy_component(c),u=!1,d()}}}function instance$12(e,t,n){let o,r,{name:i}=t;const{values:a,setFieldValue:s}=getFormContext();component_subscribe(e,a,(e=>n(5,r=e)));const c=e=>{s(`sourceFile_${i}`,{fileName:e,isDownload:!0})};return e.$$set=e=>{"name"in e&&n(0,i=e.name)},e.$$.update=()=>{33&e.$$.dirty&&n(1,o=r[`sourceFile_${i}`])},[i,o,a,()=>{s("sourceList",r.sourceList.filter((e=>e!=i)))},()=>{showModal(ChangeDownloadUrlModal,{url:o.fileName,onConfirm:c})},r]}class SourceName extends SvelteComponent{constructor(e){super(),init(this,e,instance$12,create_fragment$14,safe_not_equal,{name:0})}}function create_fragment$13(e){let t,n,o,r,i,a,s,c;const l=[e[7],{options:e[2]},{isMulti:!0},{templateProps:{noMargin:!0}}];let u={};for(let e=0;e<l.length;e+=1)u=assign(u,l[e]);return n=new FormSelectField({props:u}),i=new FormStyledButton({props:{type:"button",value:"All files"}}),i.$on("click",e[9]),s=new FormStyledButton({props:{type:"button",value:"Remove all"}}),s.$on("click",e[10]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),attr(t,"class","wrapper svelte-y6l14f")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),append(r,a),mount_component(s,r,null),c=!0},p(e,[t]){const o=132&t?get_spread_update(l,[128&t&&get_spread_object(e[7]),4&t&&{options:e[2]},l[2],l[3]]):{};n.$set(o)},i(e){c||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),destroy_component(s)}}}function instance$11(e,t,n){let o,r,i,a,s=noop$3;e.$$.on_destroy.push((()=>s()));let{folderName:c}=t,{name:l}=t;const{setFieldValue:u,values:d}=getFormContext();component_subscribe(e,d,(e=>n(4,a=e)));return e.$$set=e=>{n(7,t=assign(assign({},t),exclude_internal_props(e))),"folderName"in e&&n(8,c=e.folderName),"name"in e&&n(0,l=e.name)},e.$$.update=()=>{256&e.$$.dirty&&(n(3,o=useArchiveFiles({folder:c})),s(),s=subscribe(o,(e=>n(1,i=e)))),2&e.$$.dirty&&n(2,r=(i||[]).map((e=>({value:e.name,label:e.name}))))},t=exclude_internal_props(t),[l,i,r,o,a,u,d,t,c,()=>u(l,_.uniq([...a[l]||[],...i&&i.map((e=>e.name))])),()=>u(l,[])]}class FormArchiveFilesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$11,create_fragment$13,safe_not_equal,{folderName:8,name:0})}}function create_if_block$u(e){let t,n;return t=new LoadingInfo({props:{message:"Anaysing input files"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$12(e){let t,n,o,r;t=new FormStyledButton({props:{type:"button",value:"Add file(s)"}}),t.$on("click",e[2]);let i=e[0]&&create_if_block$u();return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,[t]){e[0]?i?1&t&&transition_in(i,1):(i=create_if_block$u(),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function getFileFilters(e,t){const n=[],o=findFileFormat(e,t);return o&&n.push({name:o.name,extensions:[o.extension]}),n.push({name:"All Files",extensions:["*"]}),n}function instance$10(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(4,r=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let a=!1;const{values:s}=getFormContext();component_subscribe(e,s,(e=>n(3,o=e)));return[a,s,()=>i(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showOpenDialog({properties:["openFile","multiSelections"],filters:getFileFilters(r,o.sourceStorageType)});if(t){const e=window.require("path");try{n(0,a=!0),yield addFilesToSourceList(r,t.map((t=>({fileName:t,shortName:e.parse(t).name}))),o,s)}finally{n(0,a=!1)}}}))]}class ElectronFilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$10,create_fragment$12,safe_not_equal,{})}}function create_else_block$c(e){let t,n;return t=new UploadButton({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$t(e){let t,n;return t=new ElectronFilesInput({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$11(e){let t,n,o,r,i,a,s,c,l;const u=[create_if_block$t,create_else_block$c],d=[];return o=function(e,t){return e[0]?0:1}(e),r=d[o]=u[o](e),a=new FormStyledButton({props:{value:"Add web URL"}}),a.$on("click",e[2]),{c(){t=element("div"),n=element("div"),r.c(),i=space(),create_component(a.$$.fragment),s=space(),c=element("div"),c.textContent="Drag & drop imported files here",attr(n,"class","flex"),attr(c,"class","wrapper svelte-5j61hy"),attr(t,"class","main svelte-5j61hy")},m(e,r){insert(e,t,r),append(t,n),d[o].m(n,null),append(n,i),mount_component(a,n,null),append(t,s),append(t,c),l=!0},p:noop$3,i(e){l||(transition_in(r),transition_in(a.$$.fragment,e),l=!0)},o(e){transition_out(r),transition_out(a.$$.fragment,e),l=!1},d(e){e&&detach(t),d[o].d(),destroy_component(a)}}}function extractUrlName(e,t){const n=e.match(/\/([^/]+)($|\?)/);if(n){const e=n[1];return e.includes(".")?e.slice(0,e.indexOf(".")):e}return`url${t&&t.sourceList?t.sourceList.length+1:"1"}`}function instance$$(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(5,r=e)));let{setPreviewSource:i}=t;const a=getElectron(),{values:s}=getFormContext();component_subscribe(e,s,(e=>n(4,o=e)));const c=e=>{addFilesToSourceList(r,[{fileName:e,shortName:extractUrlName(e,o),isDownload:!0}],o,s,null,i)};return e.$$set=e=>{"setPreviewSource"in e&&n(3,i=e.setPreviewSource)},[a,s,()=>showModal(ChangeDownloadUrlModal,{onConfirm:c}),i]}class FilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$$,create_fragment$11,safe_not_equal,{setPreviewSource:3})}}function create_if_block$s(e){let t,n;const o=[e[3],{options:e[0]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$10(e){let t,n,o=e[0].length>0&&create_if_block$s(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0].length>0?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$s(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$_(e,t,n){let o,r;const i=["conidName","databaseName"];let a,s,c=compute_rest_props(t,i),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t,{databaseName:d}=t;const{values:p}=getFormContext();return component_subscribe(e,p,(e=>n(7,s=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,c=compute_rest_props(t,i)),"conidName"in e&&n(4,u=e.conidName),"databaseName"in e&&n(5,d=e.databaseName)},e.$$.update=()=>{176&e.$$.dirty&&(n(1,o=useDatabaseInfo({conid:s[u],database:p[d]})),l(),l=subscribe(o,(e=>n(6,a=e)))),64&e.$$.dirty&&n(0,r=(a&&a.schemas||[]).map((e=>({value:e.schemaName,label:e.schemaName}))))},[r,o,p,c,u,d,a,s]}class FormSchemaSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$_,create_fragment$10,safe_not_equal,{conidName:4,databaseName:5})}}function get_each_context$d(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block$r(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:`All ${e[13]}`}}),t.$on("click",(function(){return e[11](e[13])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(t,n){e=t},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$d(e){let t,n,o=e[2]&&e[2][e[13]]?.length>0&&create_if_block$r(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[2]&&e[2][e[13]]?.length>0?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$r(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_fragment$$(e){let t,n,o,r,i,a,s;const c=[e[7],{name:e[0]},{options:e[3]},{isMulti:!0},{templateProps:{noMargin:!0}}];let l={};for(let e=0;e<c.length;e+=1)l=assign(l,c[e]);n=new FormSelectField({props:l});let u=["tables","views","matviews","collections"],d=[];for(let t=0;t<4;t+=1)d[t]=create_each_block$d(get_each_context$d(e,u,t));const p=e=>transition_out(d[e],1,1,(()=>{d[e]=null}));return a=new FormStyledButton({props:{type:"button",value:"Remove all"}}),a.$on("click",e[12]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div");for(let e=0;e<4;e+=1)d[e].c();i=space(),create_component(a.$$.fragment),attr(t,"class","wrapper svelte-1xz9rwb")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),append(t,r);for(let e=0;e<4;e+=1)d[e].m(r,null);append(r,i),mount_component(a,r,null),s=!0},p(e,[t]){const o=137&t?get_spread_update(c,[128&t&&get_spread_object(e[7]),1&t&&{name:e[0]},8&t&&{options:e[3]},c[3],c[4]]):{};if(n.$set(o),71&t){let n;for(u=["tables","views","matviews","collections"],n=0;n<4;n+=1){const o=get_each_context$d(e,u,n);d[n]?(d[n].p(o,t),transition_in(d[n],1)):(d[n]=create_each_block$d(o),d[n].c(),transition_in(d[n],1),d[n].m(r,i))}for(group_outros(),n=4;n<4;n+=1)p(n);check_outros()}},i(e){if(!s){transition_in(n.$$.fragment,e);for(let e=0;e<4;e+=1)transition_in(d[e]);transition_in(a.$$.fragment,e),s=!0}},o(e){transition_out(n.$$.fragment,e),d=d.filter(Boolean);for(let e=0;e<4;e+=1)transition_out(d[e]);transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_each(d,e),destroy_component(a)}}}function instance$Z(e,t,n){let o,r;const i=["conidName","databaseName","schemaName","name"];let a,s,c=compute_rest_props(t,i),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t,{databaseName:d}=t,{schemaName:p}=t,{name:m}=t;const{values:h,setFieldValue:f}=getFormContext();component_subscribe(e,h,(e=>n(1,a=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,i)),"conidName"in e&&n(8,u=e.conidName),"databaseName"in e&&n(9,d=e.databaseName),"schemaName"in e&&n(10,p=e.schemaName),"name"in e&&n(0,m=e.name)},e.$$.update=()=>{770&e.$$.dirty&&(n(4,o=useDatabaseInfo({conid:a[u],database:a[d]})),l(),l=subscribe(o,(e=>n(2,s=e)))),1030&e.$$.dirty&&n(3,r=_.compact([...(null==s?void 0:s.tables)||[],...(null==s?void 0:s.views)||[],...(null==s?void 0:s.matviews)||[],...(null==s?void 0:s.collections)||[]]).filter((e=>!a[p]||e.schemaName==a[p])).map((e=>({value:e.pureName,label:e.pureName}))))},[m,a,s,r,o,h,f,c,u,d,p,e=>f(m,_.compact(_.uniq([...a[m]||[],...s[e]?.map((e=>e.pureName))||[]]))),()=>f(m,[])]}class FormTablesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$Z,create_fragment$$,safe_not_equal,{conidName:8,databaseName:9,schemaName:10,name:0})}}function create_if_block_13$1(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon import"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Source configuration"),attr(t,"class","title svelte-d1p00z")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_12$1(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon export"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Target configuration"),attr(t,"class","title svelte-d1p00z")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_11$1(e){let t,n;return t=new FormStyledButton({props:{value:"Current DB"}}),t.$on("click",e[21]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10$1(e){let t,n;return t=new FormStyledButton({props:{value:"New archive"}}),t.$on("click",e[23]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_9$1(e){let t,n,o,r;return t=new FormConnectionSelect({props:{name:e[2],label:"Server",direction:e[0]}}),o=new FormDatabaseSelect({props:{conidName:e[2],name:e[3],label:"Database"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};4&n&&(r.name=e[2]),1&n&&(r.direction=e[0]),t.$set(r);const i={};4&n&&(i.conidName=e[2]),8&n&&(i.name=e[3]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_7$1(e){let t,n,o,r;t=new FormSchemaSelect({props:{conidName:e[2],databaseName:e[3],name:e[5],label:"Schema"}});let i=e[6]&&create_if_block_8$1(e);return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,n){const r={};4&n&&(r.conidName=e[2]),8&n&&(r.databaseName=e[3]),32&n&&(r.name=e[5]),t.$set(r),e[6]?i?(i.p(e,n),64&n&&transition_in(i,1)):(i=create_if_block_8$1(e),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function create_if_block_8$1(e){let t,n;return t=new FormTablesSelect({props:{conidName:e[2],schemaName:e[5],databaseName:e[3],name:e[6],label:"Tables / views / collections"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.conidName=e[2]),32&n&&(o.schemaName=e[5]),8&n&&(o.databaseName=e[3]),64&n&&(o.name=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$3(e){let t,n,o,r,i,a;const s=[create_if_block_6$2,create_else_block$b],c=[];function l(e,t){return"json"==e[11].sourceQueryType?0:1}return r=l(e),i=c[r]=s[r](e),{c(){t=element("div"),t.textContent="Query",n=space(),o=element("div"),i.c(),attr(t,"class","label svelte-d1p00z"),attr(o,"class","sqlwrap svelte-d1p00z")},m(e,i){insert(e,t,i),insert(e,n,i),insert(e,o,i),c[r].m(o,null),a=!0},p(e,t){let n=r;r=l(e),r===n?c[r].p(e,t):(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros(),i=c[r],i?i.p(e,t):(i=c[r]=s[r](e),i.c()),transition_in(i,1),i.m(o,null))},i(e){a||(transition_in(i),a=!0)},o(e){transition_out(i),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),c[r].d()}}}function create_else_block$b(e){let t,n;return t=new SqlEditor({props:{value:e[11].sourceQuery,engine:e[7]}}),t.$on("input",e[26]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2048&n&&(o.value=e[11].sourceQuery),128&n&&(o.engine=e[7]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$2(e){let t,n;return t=new AceEditor({props:{value:e[11].sourceQuery,mode:"json"}}),t.$on("input",e[25]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2048&n&&(o.value=e[11].sourceQuery),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$4(e){let t,n;return t=new FormArchiveFolderSelect({props:{label:"Archive folder",name:e[4],additionalFolders:_.compact([e[11][e[4]]])}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.name=e[4]),2064&n&&(o.additionalFolders=_.compact([e[11][e[4]]])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$6(e){let t,n;return t=new FormArchiveFilesSelect({props:{label:"Source files",folderName:e[11][e[4]],name:e[6]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2064&n&&(o.folderName=e[11][e[4]]),64&n&&(o.name=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$9(e){let t,n;return t=new FilesInput({props:{setPreviewSource:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.setPreviewSource=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$g(e){let t,n;return t=new FormArgumentList({props:{args:e[10].args.filter(e[27]),namePrefix:`${e[0]}_${e[10].storageType}_`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1025&n&&(o.args=e[10].args.filter(e[27])),1025&n&&(o.namePrefix=`${e[0]}_${e[10].storageType}_`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$q(e){let t,n;return t=new FormArgumentList({props:{args:e[12]?.importExportArgs.filter(e[28]),namePrefix:`${e[0]}_${e[12].engine}_`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4097&n&&(o.args=e[12]?.importExportArgs.filter(e[28])),4097&n&&(o.namePrefix=`${e[0]}_${e[12].engine}_`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$_(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b="source"==e[0]&&create_if_block_13$1(),v="target"==e[0]&&create_if_block_12$1(),y=e[15]&&create_if_block_11$1(e);a=new FormStyledButton({props:{value:"Current archive"}}),a.$on("click",e[22]);let x="target"==e[0]&&create_if_block_10$1(e);l=new FormSelectField({props:{options:e[14].filter(e[24]),name:e[1],label:"Storage type"}});let w=("database"==e[9]||"query"==e[9])&&create_if_block_9$1(e),C="database"==e[9]&&create_if_block_7$1(e),k="query"==e[9]&&create_if_block_5$3(e),S="archive"==e[9]&&create_if_block_4$4(e),T="archive"==e[9]&&"source"==e[0]&&create_if_block_3$6(e),E=e[10]&&"source"==e[0]&&create_if_block_2$9(e),A=e[10]?.args&&create_if_block_1$g(e),D=e[12]?.importExportArgs&&create_if_block$q(e);return{c(){t=element("div"),b&&b.c(),n=space(),v&&v.c(),o=space(),r=element("div"),y&&y.c(),i=space(),create_component(a.$$.fragment),s=space(),x&&x.c(),c=space(),create_component(l.$$.fragment),u=space(),w&&w.c(),d=space(),C&&C.c(),p=space(),k&&k.c(),m=space(),S&&S.c(),h=space(),T&&T.c(),f=space(),E&&E.c(),g=space(),A&&A.c(),_=space(),D&&D.c(),attr(r,"class","buttons svelte-d1p00z"),attr(t,"class","column svelte-d1p00z")},m(e,N){insert(e,t,N),b&&b.m(t,null),append(t,n),v&&v.m(t,null),append(t,o),append(t,r),y&&y.m(r,null),append(r,i),mount_component(a,r,null),append(r,s),x&&x.m(r,null),append(t,c),mount_component(l,t,null),append(t,u),w&&w.m(t,null),append(t,d),C&&C.m(t,null),append(t,p),k&&k.m(t,null),append(t,m),S&&S.m(t,null),append(t,h),T&&T.m(t,null),append(t,f),E&&E.m(t,null),append(t,g),A&&A.m(t,null),append(t,_),D&&D.m(t,null),$=!0},p(e,[a]){"source"==e[0]?b?1&a&&transition_in(b,1):(b=create_if_block_13$1(),b.c(),transition_in(b,1),b.m(t,n)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"target"==e[0]?v?1&a&&transition_in(v,1):(v=create_if_block_12$1(),v.c(),transition_in(v,1),v.m(t,o)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),e[15]?y?(y.p(e,a),32768&a&&transition_in(y,1)):(y=create_if_block_11$1(e),y.c(),transition_in(y,1),y.m(r,i)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),"target"==e[0]?x?(x.p(e,a),1&a&&transition_in(x,1)):(x=create_if_block_10$1(e),x.c(),transition_in(x,1),x.m(r,null)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros());const s={};16385&a&&(s.options=e[14].filter(e[24])),2&a&&(s.name=e[1]),l.$set(s),"database"==e[9]||"query"==e[9]?w?(w.p(e,a),512&a&&transition_in(w,1)):(w=create_if_block_9$1(e),w.c(),transition_in(w,1),w.m(t,d)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros()),"database"==e[9]?C?(C.p(e,a),512&a&&transition_in(C,1)):(C=create_if_block_7$1(e),C.c(),transition_in(C,1),C.m(t,p)):C&&(group_outros(),transition_out(C,1,1,(()=>{C=null})),check_outros()),"query"==e[9]?k?(k.p(e,a),512&a&&transition_in(k,1)):(k=create_if_block_5$3(e),k.c(),transition_in(k,1),k.m(t,m)):k&&(group_outros(),transition_out(k,1,1,(()=>{k=null})),check_outros()),"archive"==e[9]?S?(S.p(e,a),512&a&&transition_in(S,1)):(S=create_if_block_4$4(e),S.c(),transition_in(S,1),S.m(t,h)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),"archive"==e[9]&&"source"==e[0]?T?(T.p(e,a),513&a&&transition_in(T,1)):(T=create_if_block_3$6(e),T.c(),transition_in(T,1),T.m(t,f)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),e[10]&&"source"==e[0]?E?(E.p(e,a),1025&a&&transition_in(E,1)):(E=create_if_block_2$9(e),E.c(),transition_in(E,1),E.m(t,g)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[10]?.args?A?(A.p(e,a),1024&a&&transition_in(A,1)):(A=create_if_block_1$g(e),A.c(),transition_in(A,1),A.m(t,_)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),e[12]?.importExportArgs?D?(D.p(e,a),4096&a&&transition_in(D,1)):(D=create_if_block$q(e),D.c(),transition_in(D,1),D.m(t,null)):D&&(group_outros(),transition_out(D,1,1,(()=>{D=null})),check_outros())},i(e){$||(transition_in(b),transition_in(v),transition_in(y),transition_in(a.$$.fragment,e),transition_in(x),transition_in(l.$$.fragment,e),transition_in(w),transition_in(C),transition_in(k),transition_in(S),transition_in(T),transition_in(E),transition_in(A),transition_in(D),$=!0)},o(e){transition_out(b),transition_out(v),transition_out(y),transition_out(a.$$.fragment,e),transition_out(x),transition_out(l.$$.fragment,e),transition_out(w),transition_out(C),transition_out(k),transition_out(S),transition_out(T),transition_out(E),transition_out(A),transition_out(D),$=!1},d(e){e&&detach(t),b&&b.d(),v&&v.d(),y&&y.d(),destroy_component(a),x&&x.d(),destroy_component(l),w&&w.d(),C&&C.d(),k&&k.d(),S&&S.d(),T&&T.d(),E&&E.d(),A&&A.d(),D&&D.d()}}}function instance$Y(e,t,n){let o,r,i,a,s,c,l,u,d,p,m=noop$3;component_subscribe(e,extensions,(e=>n(19,c=e))),component_subscribe(e,currentDatabase,(e=>n(15,d=e))),component_subscribe(e,currentArchive,(e=>n(16,p=e))),e.$$.on_destroy.push((()=>m()));let{direction:h}=t,{storageTypeField:f}=t,{connectionIdField:g}=t,{databaseNameField:_}=t,{archiveFolderField:$}=t,{schemaNameField:b}=t,{tablesField:v}=t,{engine:y}=t,{setPreviewSource:x}=t;const{values:w,setFieldValue:C}=getFormContext();component_subscribe(e,w,(e=>n(11,u=e)));return e.$$set=e=>{"direction"in e&&n(0,h=e.direction),"storageTypeField"in e&&n(1,f=e.storageTypeField),"connectionIdField"in e&&n(2,g=e.connectionIdField),"databaseNameField"in e&&n(3,_=e.databaseNameField),"archiveFolderField"in e&&n(4,$=e.archiveFolderField),"schemaNameField"in e&&n(5,b=e.schemaNameField),"tablesField"in e&&n(6,v=e.tablesField),"engine"in e&&n(7,y=e.engine),"setPreviewSource"in e&&n(8,x=e.setPreviewSource)},e.$$.update=()=>{526338&e.$$.dirty&&n(14,o="jsldata"==u[f]?[{value:"jsldata",label:"Query result data",directions:["source"]}]:[{value:"database",label:"Database",directions:["source","target"]},...c.fileFormats.map((e=>({value:e.storageType,label:`${e.name} files(s)`,directions:getFileFormatDirections(e)}))),{value:"query",label:"Query",directions:["source"]},{value:"archive",label:"Archive",directions:["source","target"]}]),2050&e.$$.dirty&&n(9,r=u[f]),2060&e.$$.dirty&&useDatabaseInfo({conid:u[g],database:u[_]}),2064&e.$$.dirty&&useArchiveFiles({folder:u[$]}),524800&e.$$.dirty&&n(10,i=findFileFormat(c,r)),2052&e.$$.dirty&&(n(13,a=useConnectionInfo({conid:u[g]})),m(),m=subscribe(a,(e=>n(20,l=e)))),1572864&e.$$.dirty&&n(12,s=lib$4.findEngineDriver(l,c))},[h,f,g,_,$,b,v,y,x,r,i,u,s,a,o,d,p,w,C,c,l,()=>{w.update((e=>({...e,[f]:"database",[g]:d?.connection?._id,[_]:d?.name})))},()=>{w.update((e=>({...e,[f]:"archive",[$]:p})))},()=>{w.update((e=>({...e,[f]:"archive",[$]:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`})))},e=>e.directions.includes(h),e=>C("sourceQuery",e.detail),e=>C("sourceQuery",e.detail),e=>!e.direction||e.direction==h,e=>!e.direction||e.direction==h]}class SourceTargetConfig extends SvelteComponent{constructor(e){super(),init(this,e,instance$Y,create_fragment$_,safe_not_equal,{direction:0,storageTypeField:1,connectionIdField:2,databaseNameField:3,archiveFolderField:4,schemaNameField:5,tablesField:6,engine:7,setPreviewSource:8})}}function get_context(e){const t=(e[0][`columns_${e[22]}`]||[]).filter((e=>!e.skip)).length;e[23]=t}function create_if_block$p(e){let t,n;return t=new CheckboxField({props:{checked:e[2]==e[22]}}),t.$on("change",(function(...t){return e[16](e[22],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4194308&o&&(r.checked=e[2]==e[22]),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__0_slot(e){let t,n,o=e[3]&&create_if_block$p(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[3]?o?(o.p(e,n),8&n&&transition_in(o,1)):(o=create_if_block$p(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create__1_slot$1(e){let t,n;return t=new TextField({props:{value:getTargetName(e[1],e[22],e[0])}}),t.$on("input",(function(...t){return e[15](e[22],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4194307&o&&(r.value=getTargetName(e[1],e[22],e[0])),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$o(e){let t,n=e[23]>0?`(${e[23]} columns)`:"(copy from source)";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){4194305&o&&n!==(n=e[23]>0?`(${e[23]} columns)`:"(copy from source)")&&set_data(t,n)},d(e){e&&detach(t)}}}function create__2_slot$1(e){let t,n;function o(){return e[14](e[22])}return get_context(e),t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot$o]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){get_context(e=n);const i={};1&r&&(i.onClick=o),20971521&r&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Z(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g;return o=new SourceTargetConfig({props:{direction:"source",storageTypeField:"sourceStorageType",connectionIdField:"sourceConnectionId",databaseNameField:"sourceDatabaseName",archiveFolderField:"sourceArchiveFolder",schemaNameField:"sourceSchemaName",tablesField:"sourceList",engine:e[4],setPreviewSource:e[9].set}}),a=new FontIcon({props:{icon:"icon arrow-right-bold"}}),c=new SourceTargetConfig({props:{direction:"target",storageTypeField:"targetStorageType",connectionIdField:"targetConnectionId",databaseNameField:"targetDatabaseName",archiveFolderField:"targetArchiveFolder",schemaNameField:"targetSchemaName"}}),p=new FontIcon({props:{icon:"icon tables"}}),f=new TableControl({props:{rows:e[0].sourceList||[],columns:[{fieldName:"source",header:"Source",component:SourceName,getProps:func_2$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[17]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}],$$slots:{2:[create__2_slot$1,({row:e})=>({22:e}),({row:e})=>e?4194304:0],1:[create__1_slot$1,({row:e})=>({22:e}),({row:e})=>e?4194304:0],0:[create__0_slot,({row:e})=>({22:e}),({row:e})=>e?4194304:0]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),l=space(),u=element("div"),d=element("div"),create_component(p.$$.fragment),m=text$1(" Map source tables/files"),h=space(),create_component(f.$$.fragment),attr(i,"class","arrow svelte-tc4cku"),attr(n,"class","flex"),attr(d,"class","title svelte-tc4cku"),attr(u,"class","m-2"),attr(t,"class","flex1")},m(e,_){insert(e,t,_),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),mount_component(a,i,null),append(n,s),mount_component(c,n,null),append(t,l),append(t,u),append(u,d),mount_component(p,d,null),append(d,m),append(u,h),mount_component(f,u,null),g=!0},p(e,[t]){const n={};16&t&&(n.engine=e[4]),o.$set(n);const r={};1&t&&(r.rows=e[0].sourceList||[]),64&t&&(r.columns=[{fieldName:"source",header:"Source",component:SourceName,getProps:func_2$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[17]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}]),20971535&t&&(r.$$scope={dirty:t,ctx:e}),f.$set(r)},i(e){g||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in(f.$$.fragment,e),g=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out(f.$$.fragment,e),g=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(c),destroy_component(p),destroy_component(f)}}}var __awaiter$3=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function addFileToSourceListDefault({fileName:e,shortName:t,isDownload:n},o,r){return __awaiter$3(this,void 0,void 0,(function*(){const i=t;o.push(i),r[`sourceFile_${i}`]={fileName:e,isDownload:n}}))}function addFilesToSourceList(e,t,n,o,r,i){return __awaiter$3(this,void 0,void 0,(function*(){const a=[],s={},c=r||n.sourceStorageType;for(const n of getAsArray(t)){const t=findFileFormat(e,c);t&&(yield(t.addFileToSourceList||addFileToSourceListDefault)(n,a,s))}s.sourceList=[...(n.sourceList||[]).filter((e=>!a.includes(e))),...a],r&&r!=n.sourceStorageType&&(s.sourceStorageType=r);for(const e of a)n.fixedTargetPureName&&(n[`targetName_${e}`]=n.fixedTargetPureName,n[`actionType_${e}`]="appendData");o.set(Object.assign(Object.assign({},n),s)),i&&1==a.length&&i(a[0])}))}const func_2$2=e=>({name:e});function instance$X(e,t,n){let o,r,i,a,s,c,l,u,d,p=noop$3;component_subscribe(e,extensions,(e=>n(1,l=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{uploadedFile:h}=t,{openedFile:f}=t,{previewReaderStore:g}=t;const{values:_,setFieldValue:$}=getFormContext();component_subscribe(e,_,(e=>n(0,c=e)));const b=writable(null);component_subscribe(e,b,(e=>n(2,u=e)));const v=e=>{addFilesToSourceList(l,[{fileName:e.filePath,shortName:e.shortName}],c,_,a&&0!=a.length?null:e.storageType,b.set)};onMount((()=>(setUploadListener(v),h&&v(h),f&&v(f),()=>{setUploadListener(null)})));return e.$$set=e=>{"uploadedFile"in e&&n(10,h=e.uploadedFile),"openedFile"in e&&n(11,f=e.openedFile),"previewReaderStore"in e&&n(12,g=e.previewReaderStore)},e.$$.update=()=>{var t;1&e.$$.dirty&&n(6,o=useDatabaseInfo({conid:c.targetConnectionId,database:c.targetDatabaseName})),1&e.$$.dirty&&(n(5,r=useConnectionInfo({conid:c.sourceConnectionId})),p(),p=subscribe(r,(e=>n(13,d=e)))),8192&e.$$.dirty&&n(4,i=null==d?void 0:d.engine),1&e.$$.dirty&&(a=c.sourceList),3&e.$$.dirty&&n(3,s=!!findFileFormat(l,c.sourceStorageType)||"archive"==c.sourceStorageType),5&e.$$.dirty&&(t=u,m(void 0,void 0,void 0,(function*(){if(t&&s){const e=yield createPreviewReader(l,c,t);g&&g.set(e)}else g&&g.set(null)})))},[c,l,u,s,i,r,o,_,$,b,h,f,g,d,e=>{showModal(ColumnMapModal,{value:c[`columns_${e}`],onConfirm:t=>$(`columns_${e}`,t)})},(e,t)=>$(`targetName_${e}`,t.target.value),(e,t)=>{t.target.checked?set_store_value(b,u=e,u):set_store_value(b,u=null,u)},e=>({name:e,targetDbinfo:o})]}class ImportExportConfigurator extends SvelteComponent{constructor(e){super(),init(this,e,instance$X,create_fragment$Z,safe_not_equal,{uploadedFile:10,openedFile:11,previewReaderStore:12})}}function create_if_block_2$8(e){let t,n;const o=[e[6],{grider:e[1]},{display:e[3]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DataGridCore({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=74&n?get_spread_update(o,[64&n&&get_spread_object(e[6]),2&n&&{grider:e[1]},8&n&&{display:e[3]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$f(e){let t,n;return t=new ErrorInfo({props:{message:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.message=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$o(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Loading data"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Y(e){let t,n,o,r;const i=[create_if_block$o,create_if_block_1$f,create_if_block_2$8],a=[];function s(e,t){return e[0]?0:e[2]?1:e[1]?2:-1}return~(t=s(e))&&(n=a[t]=i[t](e)),{c(){n&&n.c(),o=empty()},m(e,n){~t&&a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?~t&&a[t].p(e,r):(n&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros()),~t?(n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null)},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){~t&&a[t].d(e),e&&detach(o)}}}function instance$W(e,t,n){let o,r,i;var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{reader:s}=t,c=!1,l=null,u=null,d=null;const p=writable(lib$1.createGridConfig());component_subscribe(e,p,(e=>n(10,i=e)));const m=writable(lib$1.createGridCache());component_subscribe(e,m,(e=>n(9,r=e)));return e.$$set=e=>{n(6,t=assign(assign({},t),exclude_internal_props(e))),"reader"in e&&n(7,s=e.reader)},e.$$.update=()=>{var t;128&e.$$.dirty&&(t=s,a(void 0,void 0,void 0,(function*(){try{if(!t)return n(8,l=null),void n(1,u=null);n(2,d=null),n(0,c=!0);const e=yield apiCall("runners/load-reader",t);if(e.errorMessage)return n(0,c=!1),void n(2,d=e.errorMessage);n(8,l=e),n(1,u=new RowsArrayGrider(e.rows)),n(0,c=!1)}catch(e){n(0,c=!1),n(2,d="Loading failed"),console.error(e.response)}}))),1792&e.$$.dirty&&n(3,o=new lib$1.FreeTableGridDisplay(l,i,p.update,r,m.update))},t=exclude_internal_props(t),[c,u,d,o,p,m,t,s,l,r,i]}class PreviewDataGrid extends SvelteComponent{constructor(e){super(),init(this,e,instance$W,create_fragment$Y,safe_not_equal,{reader:7})}}function create_if_block_2$7(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Processing import/export ..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot(e){let t,n,o,r;n=new ImportExportConfigurator({props:{uploadedFile:e[1],openedFile:e[2],previewReaderStore:e[10]}});let i=e[4]&&create_if_block_2$7();return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","content svelte-nk47x3"),attr(t,"slot","1")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,o){const r={};2&o&&(r.uploadedFile=e[1]),4&o&&(r.openedFile=e[2]),n.$set(r),e[4]?i?16&o&&transition_in(i,1):(i=create_if_block_2$7(),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_default_slot_10(e){let t,n;return t=new RunnerOutputFiles({props:{runnerId:e[3],executeNumber:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.runnerId=e[3]),32&n&&(o.executeNumber=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_9(e){let t,n;return t=new SocketMessageView({props:{eventName:e[3]?`runner-info-${e[3]}`:null,executeNumber:e[5],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.eventName=e[3]?`runner-info-${e[3]}`:null),32&n&&(o.executeNumber=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8$1(e){let t,n;return t=new PreviewDataGrid({props:{reader:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n&&(o.reader=e[9]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7$1(e){let t,n,o,r;return t=new FormTextField({props:{label:"Schedule",name:"schedule"}}),o=new FormTextField({props:{label:"Start variable index",name:"startVariableIndex"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_6$2(e){let t,n,o,r,i,a,s,c;return t=new WidgetColumnBarItem({props:{title:"Output files",name:"output",height:"20%",$$slots:{default:[create_default_slot_10]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Messages",name:"messages",$$slots:{default:[create_default_slot_9]},$$scope:{ctx:e}}}),i=new WidgetColumnBarItem({props:{title:"Preview",name:"preview",skip:!e[9],$$slots:{default:[create_default_slot_8$1]},$$scope:{ctx:e}}}),s=new WidgetColumnBarItem({props:{title:"Advanced configuration",name:"config",collapsed:!0,$$slots:{default:[create_default_slot_7$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,n){const r={};16777256&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const a={};16777256&n&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const c={};512&n&&(c.skip=!e[9]),16777728&n&&(c.$$scope={dirty:n,ctx:e}),i.$set(c);const l={};16777216&n&&(l.$$scope={dirty:n,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create__2_slot(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot_6$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777768&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_5$2(e){let t,n;return t=new HorizontalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot],1:[create__1_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777790&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$e(e){let t,n;return t=new FontIcon({props:{icon:"icon loading"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_header_slot$2(e){let t,n,o,r=e[4]&&create_if_block_1$e();return{c(){t=text$1("Import/Export\n "),r&&r.c(),n=empty()},m(e,i){insert(e,t,i),r&&r.m(e,i),insert(e,n,i),o=!0},p(e,t){e[4]?r?16&t&&transition_in(r,1):(r=create_if_block_1$e(),r.c(),transition_in(r,1),r.m(n.parentNode,n)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){o||(transition_in(r),o=!0)},o(e){transition_out(r),o=!1},d(e){e&&detach(t),r&&r.d(e),e&&detach(n)}}}function create_else_block$a(e){let t,n;return t=new LargeFormButton({props:{icon:"icon run",$$slots:{default:[create_default_slot_4$3]},$$scope:{ctx:e}}}),t.$on("click",e[13]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777216&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$n(e){let t,n;return t=new LargeButton({props:{icon:"icon stop",$$slots:{default:[create_default_slot_3$9]},$$scope:{ctx:e}}}),t.$on("click",e[14]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777216&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4$3(e){let t;return{c(){t=text$1("Run")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_3$9(e){let t;return{c(){t=text$1("Stop")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_2$g(e){let t;return{c(){t=text$1("Generate script")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$i(e){let t;return{c(){t=text$1("Close")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$1(e){let t,n,o,r,i,a,s,c;const l=[create_if_block$n,create_else_block$a],u=[];function d(e,t){return e[4]?0:1}return n=d(e),o=u[n]=l[n](e),i=new LargeFormButton({props:{icon:"img sql-file",$$slots:{default:[create_default_slot_2$g]},$$scope:{ctx:e}}}),i.$on("click",e[12]),s=new LargeButton({props:{icon:"icon close",$$slots:{default:[create_default_slot_1$i]},$$scope:{ctx:e}}}),s.$on("click",closeCurrentModal),{c(){t=element("div"),o.c(),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),attr(t,"class","flex m-2")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,r),mount_component(i,t,null),append(t,a),mount_component(s,t,null),c=!0},p(e,a){let c=n;n=d(e),n===c?u[n].p(e,a):(group_outros(),transition_out(u[c],1,1,(()=>{u[c]=null})),check_outros(),o=u[n],o?o.p(e,a):(o=u[n]=l[n](e),o.c()),transition_in(o,1),o.m(t,r));const p={};16777216&a&&(p.$$scope={dirty:a,ctx:e}),i.$set(p);const m={};16777216&a&&(m.$$scope={dirty:a,ctx:e}),s.$set(m)},i(e){c||(transition_in(o),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),u[n].d(),destroy_component(i),destroy_component(s)}}}function create_default_slot$n(e){let t,n;const o=[e[15],{fullScreen:!0}];let r={$$slots:{footer:[create_footer_slot$1],header:[create_header_slot$2],default:[create_default_slot_5$2]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=32768&n?get_spread_update(o,[get_spread_object(e[15]),o[1]]):{};16777790&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$X(e){let t,n;return t=new FormProvider({props:{initialValues:{sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]},$$slots:{default:[create_default_slot$n]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};385&n&&(o.initialValues={sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]}),16810558&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$V(e,t,n){let o;const r=["initialValues","uploadedFile","openedFile","importToCurrentTarget"];let i,a,s,c,l,u,d=compute_rest_props(t,r),p=noop$3;component_subscribe(e,extensions,(e=>n(7,i=e))),component_subscribe(e,selectedWidget,(e=>n(18,a=e))),component_subscribe(e,currentArchive,(e=>n(8,s=e))),component_subscribe(e,currentDatabase,(e=>n(19,l=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let h=!1,f=0,g=null;const _=writable(null);component_subscribe(e,_,(e=>n(9,u=e)));let{initialValues:$}=t,{uploadedFile:b}=t,{openedFile:v}=t,{importToCurrentTarget:y=!1}=t;const x=createRef(null);const w=()=>{n(4,h=!1),x.get()&&(apiCall("archive/refresh-folders",{}),apiCall("archive/refresh-files",{folder:x.get()}),set_store_value(currentArchive,s=x.get(),s),set_store_value(selectedWidget,a="archive",a))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(15,d=compute_rest_props(t,r)),"initialValues"in e&&n(0,$=e.initialValues),"uploadedFile"in e&&n(1,b=e.uploadedFile),"openedFile"in e&&n(2,v=e.openedFile),"importToCurrentTarget"in e&&n(16,y=e.importToCurrentTarget)},e.$$.update=()=>{8&e.$$.dirty&&(n(6,o=useEffect((()=>{return(e=g)?(apiOn(`runner-done-${e}`,w),()=>{apiOff(`runner-done-${e}`,w)}):()=>{};var e}))),p(),p=subscribe(o,(e=>n(17,c=e)))),e.$$.dirty},[$,b,v,g,h,f,o,i,s,u,_,function(){var e;return y?l&&"archive"!=a?{targetStorageType:"database",targetConnectionId:null===(e=null==l?void 0:l.connection)||void 0===e?void 0:e._id,targetDatabaseName:null==l?void 0:l.name}:"default"==s?{targetStorageType:"archive",targetArchiveFolder:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`}:{targetStorageType:"archive",targetArchiveFolder:s}:{}},e=>m(void 0,void 0,void 0,(function*(){closeCurrentModal();openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:yield createImpExpScript(i,e.detail,void 0,!0)})})),e=>m(void 0,void 0,void 0,(function*(){if(h)return;const t=e.detail;n(4,h=!0);const o=yield createImpExpScript(i,t);n(5,f+=1);let r=g;r=(yield apiCall("runners/start",{script:o})).runid,n(3,g=r),"archive"==t.targetStorageType?x.set(t.targetArchiveFolder):x.set(null)})),()=>{apiCall("runners/cancel",{runid:g})},d,y,c]}class ImportExportModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$V,create_fragment$X,safe_not_equal,{initialValues:0,uploadedFile:1,openedFile:2,importToCurrentTarget:16})}}var ImportExportModal$1=ImportExportModal;function create_fragment$W(e){let t,n;const o=[e[4],{data:e[0]},{title:e[0].fileLabel},{icon:getArchiveIcon(e[1],e[0])},{menu:e[3]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[2]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=27&n?get_spread_update(o,[16&n&&get_spread_object(e[4]),1&n&&{data:e[0]},1&n&&{title:e[0].fileLabel},3&n&&{icon:getArchiveIcon(e[1],e[0])},8&n&&{menu:e[3]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$2=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function openArchive(e,t){openNewTab({title:e,icon:"img archive",tooltip:`${t}\n${e}`,tabComponent:"ArchiveFileTab",props:{archiveFile:e,archiveFolder:t}})}function openTextFile$1(e,t,n,o,r){return __awaiter$2(this,void 0,void 0,(function*(){let i;const a=yield apiCall("files/load",{folder:"archive:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:r,tabComponent:o,tooltip:i,props:Object.assign({savedFile:e+"."+t,savedFolder:"archive:"+n,savedFormat:"text",archiveFolder:n},{})},{editor:a})}))}const extractKey$6=e=>e.fileName,createMatcher$3=({fileName:e})=>t=>lib$4.filterName(t,e),ARCHIVE_ICONS={"table.yaml":"img table","view.sql":"img view","proc.sql":"img procedure","func.sql":"img function","trigger.sql":"img sql-file","matview.sql":"img view"};function getArchiveIcon(e,t){return"jsonl"==t.fileType?isArchiveFileMarkedAsDataSheet(e,t.folderName,t.fileName)?"img free-table":"img archive":ARCHIVE_ICONS[t.fileType]}function instance$U(e,t,n){const o=["data"];let r,i=compute_rest_props(t,o);component_subscribe(e,archiveFilesAsDataSheets,(e=>n(1,r=e)));var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:s}=t;const c=()=>{showModal(InputTextModal,{value:s.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("archive/rename-file",{file:s.fileName,folder:s.folderName,fileType:s.fileType,newFile:e})}})},l=()=>{showModal(ConfirmModal,{message:`Really delete file ${s.fileName}?`,onConfirm:()=>{apiCall("archive/delete-file",{file:s.fileName,folder:s.folderName,fileType:s.fileType})}})},u=()=>{markArchiveFileAsReadonly(s.folderName,s.fileName),openArchive(s.fileName,s.folderName)},d=()=>{markArchiveFileAsDataSheet(s.folderName,s.fileName),openNewTab({title:s.fileName,icon:"img free-table",tabComponent:"FreeTableTab",props:{initialArgs:{functionName:"archiveReader",props:{fileName:s.fileName,folderName:s.folderName}},archiveFile:s.fileName,archiveFolder:s.folderName}})},p=()=>{openTextFile$1(s.fileName,s.fileType,s.folderName,"QueryTab","img sql-file")},m=()=>{openTextFile$1(s.fileName,s.fileType,s.folderName,"YamlEditorTab","img yaml")},h=()=>{openTextFile$1(s.fileName,s.fileType,s.folderName,"JsonLinesEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,o)),"data"in e&&n(0,s=e.data)},[s,r,()=>{"jsonl"==s.fileType&&(isArchiveFileMarkedAsDataSheet(r,s.folderName,s.fileName)?d():u()),s.fileType.endsWith(".sql")&&p(),s.fileType.endsWith(".yaml")&&m()},function(){return["jsonl"==s.fileType&&{text:"Open (readonly)",onClick:u},"jsonl"==s.fileType&&{text:"Open as data sheet",onClick:d},"jsonl"==s.fileType&&{text:"Open in text editor",onClick:h},{text:"Delete",onClick:l},{text:"Rename",onClick:c},"jsonl"==s.fileType&&createQuickExportMenu((e=>()=>a(this,void 0,void 0,(function*(){exportQuickExportFile(s.fileName,{functionName:"archiveReader",props:{fileName:s.fileName,folderName:s.folderName}},e)}))),{text:"Export",onClick:()=>{showModal(ImportExportModal$1,{initialValues:{sourceStorageType:"archive",sourceArchiveFolder:s.folderName,sourceList:[s.fileName]}})}}),s.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:p},s.fileType.endsWith(".yaml")&&{text:"Open YAML",onClick:m}]},i]}class ArchiveFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$U,create_fragment$W,safe_not_equal,{data:0})}}var archiveFileAppObject=Object.freeze({__proto__:null,default:ArchiveFileAppObject,extractKey:extractKey$6,createMatcher:createMatcher$3});function create_default_slot_2$f(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$h(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search archive files"};function m(t){e[8](t)}void 0!==e[1]&&(p.value=e[1]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[1]&&(h.filter=e[1]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[5]}}),l=new InlineButton({props:{title:"Refresh files of selected archive folder",$$slots:{default:[create_default_slot_2$f]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2&o&&(i=!0,s.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(s);const c={};8192&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$m(e){let t,n;return t=new AppObjectList({props:{list:(e[3]||[]).map(e[9]),groupFunc:e[10],module:archiveFileAppObject,filter:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9&n&&(o.list=(e[3]||[]).map(e[9])),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$V(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$h]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$m]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};8194&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};8203&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const ARCHIVE_LABELS={jsonl:"JSON table data","table.yaml":"Tables","view.sql":"Views","proc.sql":"Procedures","func.sql":"Functions","trigger.sql":"Triggers","matview.sql":"Materialized views"};function instance$T(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,currentArchive,(e=>n(6,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l="";function u(){showModal(InputTextModal,{value:"",label:"New file name",header:"Create new data sheet",onConfirm:e=>c(this,void 0,void 0,(function*(){yield apiCall("archive/save-free-table",{folder:i,file:e,data:lib$1.createFreeTableModel()}),markArchiveFileAsDataSheet(i,e),openNewTab({title:e,icon:"img free-table",tabComponent:"FreeTableTab",props:{initialArgs:{functionName:"archiveReader",props:{fileName:e,folderName:i}},archiveFile:e,archiveFolder:i}})}))})}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=i),1&e.$$.dirty&&(n(2,r=useArchiveFiles({folder:o})),s(),s=subscribe(r,(e=>n(3,a=e))))},[o,l,r,a,()=>{apiCall("archive/refresh-files",{folder:o})},function(){return[{text:"New data sheet",onClick:u}]},i,function(e){l=e,n(1,l)},function(e){l=e,n(1,l)},e=>({fileName:e.name,folderName:o,fileType:e.type,fileLabel:e.label}),e=>ARCHIVE_LABELS[e.fileType]||"Archive"]}class ArchiveFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$T,create_fragment$V,safe_not_equal,{})}}function create_fragment$U(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].name.endsWith(".link")?e[0].name.slice(0,-5):e[0].name},{icon:e[0].name.endsWith(".link")?"img link":"img archive-folder"},{isBold:e[0].name==e[1]},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[4]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=15&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].name.endsWith(".link")?e[0].name.slice(0,-5):e[0].name},1&n&&{icon:e[0].name.endsWith(".link")?"img link":"img archive-folder"},3&n&&{isBold:e[0].name==e[1]},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$5=e=>e.name,createMatcher$2=e=>t=>lib$4.filterName(t,e.name);function instance$S(e,t,n){const o=["data"];let r,i,a=compute_rest_props(t,o);component_subscribe(e,currentDatabase,(e=>n(5,r=e))),component_subscribe(e,currentArchive,(e=>n(1,i=e)));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:c}=t;const l=()=>{showModal(ConfirmModal,{message:c.name.endsWith(".link")?`Really delete link to folder ${c.name}? Folder content remains untouched.`:`Really delete folder ${c.name}?`,onConfirm:()=>{apiCall("archive/delete-folder",{folder:c.name})}})},u=()=>{const e=c.name.endsWith(".link"),t=e?c.name.slice(0,-5):c.name,n=e?".link":"";showModal(InputTextModal,{value:t,label:"New folder name",header:"Rename folder",onConfirm:e=>s(void 0,void 0,void 0,(function*(){yield apiCall("archive/rename-folder",{folder:c.name,newFolder:e+n}),i==c.name&&set_store_value(currentArchive,i=e+n,i)}))})},d=()=>{openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:`// @require ${lib$4.extractPackageName(r.connection.engine)}\n \nawait dbgateApi.deployDb(${JSON.stringify({connection:Object.assign(Object.assign({},_.omit(r.connection,"_id","displayName")),{database:r.name}),modelFolder:`archive:${c.name}`},void 0,2)})`})},p=()=>s(void 0,void 0,void 0,(function*(){const e=yield apiCall("database-connections/generate-deploy-sql",{conid:r.connection._id,database:r.name,archiveFolder:c.name});e.errorMessage?showModal(ErrorMessageModal,{message:e.errorMessage}):newQuery({initialData:e.sql})})),m=()=>{openNewTab({title:"Compare",icon:"img compare",tabComponent:"CompareModelTab"},{editor:{sourceConid:"__model",sourceDatabase:`archive:${c.name}`,targetConid:_.get(r,"connection._id"),targetDatabase:_.get(r,"name")}})};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,a=compute_rest_props(t,o)),"data"in e&&n(0,c=e.data)},[c,i,function(){return["default"!=c.name&&{text:"Delete",onClick:l},"default"!=c.name&&{text:"Rename",onClick:u},"default"!=c.name&&r&&[{text:"Generate deploy DB SQL - experimental",onClick:p},{text:"Shell: Deploy DB - experimental",onClick:d}],"default"!=c.name&&_.get(r,"connection._id")&&{onClick:m,text:`Compare with ${_.get(r,"name")}`}]},a,()=>set_store_value(currentArchive,i=c.name,i)]}class ArchiveFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$S,create_fragment$U,safe_not_equal,{data:0})}}var archiveFolderAppObject=Object.freeze({__proto__:null,default:ArchiveFolderAppObject,extractKey:extractKey$5,createMatcher:createMatcher$2});function create_default_slot_3$8(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$e(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$g(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[4](t)}let p={placeholder:"Search archive folders"};function m(t){e[5](t)}void 0!==e[0]&&(p.value=e[0]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[0]&&(h.filter=e[0]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new InlineButton({props:{title:"Add new archive folder",$$slots:{default:[create_default_slot_3$8]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh archive folder list",$$slots:{default:[create_default_slot_2$e]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const u={};128&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};128&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$l(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[2],"name"),module:archiveFolderAppObject,filter:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.list=_.sortBy(e[2],"name")),1&n&&(o.filter=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$T(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$g]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$l]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};129&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};133&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$R(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="";return n(1,o=useArchiveFolders()),i(),i=subscribe(o,(e=>n(2,r=e))),[a,o,r,()=>{apiCall("archive/refresh-folders")},function(e){a=e,n(0,a)},function(e){a=e,n(0,a)},()=>runCommand("new.archiveFolder")]}class ArchiveFolderList extends SvelteComponent{constructor(e){super(),init(this,e,instance$R,create_fragment$T,safe_not_equal,{})}}function create_default_slot_2$d(e){let t,n;return t=new ArchiveFolderList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$f(e){let t,n;return t=new ArchiveFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$k(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Archive folders, DB models",name:"folders",height:"50%",storageName:"archiveFoldersWidget",$$slots:{default:[create_default_slot_2$d]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Files, Tables, Views, Functions",name:"files",storageName:"archiveFilesWidget",$$slots:{default:[create_default_slot_1$f]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$S(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$k]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class ArchiveWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$S,safe_not_equal,{})}}function create_fragment$R(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy((e[4]||[]).filter(e[5]),func_1$3).map(e[6]),module:databaseAppObject,passProps:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};19&n&&(o.list=_.sortBy((e[4]||[]).filter(e[5]),func_1$3).map(e[6])),4&n&&(o.passProps=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func_1$3=e=>e.sortOrder??e.name;function instance$Q(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let{filter:a}=t,{data:s}=t,{passProps:c}=t;return e.$$set=e=>{"filter"in e&&n(0,a=e.filter),"data"in e&&n(1,s=e.data),"passProps"in e&&n(2,c=e.passProps)},e.$$.update=()=>{2&e.$$.dirty&&(n(3,o=useDatabaseList({conid:s._id})),i(),i=subscribe(o,(e=>n(4,r=e))))},[a,s,c,o,r,e=>lib$4.filterName(a,e.name),e=>({...e,connection:s})]}class SubDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$Q,create_fragment$R,safe_not_equal,{filter:0,data:1,passProps:2})}}function create_if_block_1$d(e){let t,n;return t=new InlineButton({props:{title:"Add new connection",$$slots:{default:[create_default_slot_4$2]},$$scope:{ctx:e}}}),t.$on("click",e[16]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4194304&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4$2(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$7(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$c(e){let t,n,o,r,i,a,s,c,l;function u(t){e[14](t)}let d={placeholder:"Search connection or database"};function p(t){e[15](t)}void 0!==e[2]&&(d.value=e[2]),t=new SearchInput({props:d}),binding_callbacks.push((()=>bind(t,"value",u)));let m={};void 0!==e[2]&&(m.filter=e[2]),r=new CloseSearchButton({props:m}),binding_callbacks.push((()=>bind(r,"filter",p)));let h=e[4]["new.connection"]?.enabled&&create_if_block_1$d(e);return c=new InlineButton({props:{title:"Refresh connection list",$$slots:{default:[create_default_slot_3$7]},$$scope:{ctx:e}}}),c.$on("click",e[10]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),h&&h.c(),s=space(),create_component(c.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),h&&h.m(e,n),insert(e,s,n),mount_component(c,e,n),l=!0},p(e,o){const a={};!n&&4&o&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const l={};!i&&4&o&&(i=!0,l.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(l),e[4]["new.connection"]?.enabled?h?(h.p(e,o),16&o&&transition_in(h,1)):(h=create_if_block_1$d(e),h.c(),transition_in(h,1),h.m(s.parentNode,s)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros());const u={};4194304&o&&(u.$$scope={dirty:o,ctx:e}),c.$set(u)},i(e){l||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(h),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(h),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),h&&h.d(e),e&&detach(s),destroy_component(c,e)}}}function create_if_block$m(e){let t,n;return t=new LargeButton({props:{icon:"icon new-connection",fillHorizontal:!0,$$slots:{default:[create_default_slot_1$e]},$$scope:{ctx:e}}}),t.$on("click",e[21]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4194304&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$e(e){let t;return{c(){t=text$1("Add new connection")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$j(e){let t,n,o,r,i=e[1]&&!e[1].find(func$4)&&0==e[0].length&&e[4]["new.connection"]?.enabled&&!e[7].find(func_1$2);t=new AppObjectList({props:{list:_.sortBy(e[3],e[17]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[18],filter:e[2],passProps:{connectionColorFactory:e[5],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[19],setIsExpanded:e[20]}});let a=i&&create_if_block$m(e);return{c(){create_component(t.$$.fragment),n=space(),a&&a.c(),o=empty()},m(e,i){mount_component(t,e,i),insert(e,n,i),a&&a.m(e,i),insert(e,o,i),r=!0},p(e,n){const r={};8&n&&(r.list=_.sortBy(e[3],e[17])),1&n&&(r.isExpandable=e[18]),4&n&&(r.filter=e[2]),32&n&&(r.passProps={connectionColorFactory:e[5],showPinnedInsteadOfUnpin:!0}),64&n&&(r.getIsExpanded=e[19]),t.$set(r),147&n&&(i=e[1]&&!e[1].find(func$4)&&0==e[0].length&&e[4]["new.connection"]?.enabled&&!e[7].find(func_1$2)),i?a?(a.p(e,n),147&n&&transition_in(a,1)):(a=create_if_block$m(e),a.c(),transition_in(a,1),a.m(o.parentNode,o)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(a),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(a),r=!1},d(e){destroy_component(t,e),e&&detach(n),a&&a.d(e),e&&detach(o)}}}function create_fragment$Q(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_2$c]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$j]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};4194324&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};4194559&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const func$4=e=>!e.unsaved,func_1$2=e=>!e.closedTime&&"ConnectionTab"==e.tabComponent&&!e.props?.conid;function instance$P(e,t,n){let o,r,i,a,s,c,l,u,d;component_subscribe(e,openedConnections,(e=>n(0,i=e))),component_subscribe(e,commandsCustomized,(e=>n(4,c=e))),component_subscribe(e,expandedConnections,(e=>n(6,u=e))),component_subscribe(e,openedTabs,(e=>n(7,d=e)));const p=useConnectionList();component_subscribe(e,p,(e=>n(1,a=e)));const m=useServerStatus();component_subscribe(e,m,(e=>n(13,s=e)));let h="";const f=useConnectionColorFactory(3);component_subscribe(e,f,(e=>n(5,l=e)));return e.$$.update=()=>{8194&e.$$.dirty&&n(12,o=a&&s?a.map((e=>Object.assign(Object.assign({},e),{status:s[e._id]}))):a),4097&e.$$.dirty&&n(3,r=null==o?void 0:o.filter((e=>!e.unsaved||i.includes(e._id))))},[i,a,h,r,c,l,u,d,p,m,()=>{for(const e of i)apiCall("server-connections/refresh",{conid:e})},f,o,s,function(e){h=e,n(2,h)},function(e){h=e,n(2,h)},()=>runCommand("new.connection"),e=>(getConnectionLabel(e)||"").toUpperCase(),e=>i.includes(e._id)&&!e.singleDatabase,e=>u.includes(e._id)&&!e.singleDatabase,(e,t)=>expandedConnections.update((n=>t?[...n,e._id]:n.filter((t=>t!=e._id)))),()=>runCommand("new.connection")]}class ConnectionList extends SvelteComponent{constructor(e){super(),init(this,e,instance$P,create_fragment$Q,safe_not_equal,{})}}function create_else_block$9(e){let t,n;const o=[e[1]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DatabaseAppObject({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=2&n?get_spread_update(o,[get_spread_object(e[1])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$l(e){let t,n;const o=[e[1]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DatabaseObjectAppObject({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=2&n?get_spread_update(o,[get_spread_object(e[1])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$P(e){let t,n,o,r;const i=[create_if_block$l,create_else_block$9],a=[];function s(e,t){return e[0].objectTypeField?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const extractKey$4=e=>e.objectTypeField?`${e.objectTypeField}||${e.schemaName}||${e.pureName}`:e.connection._id;function instance$O(e,t,n){let{data:o}=t;return e.$$set=e=>{n(1,t=assign(assign({},t),exclude_internal_props(e))),"data"in e&&n(0,o=e.data)},t=exclude_internal_props(t),[o,t]}class PinnedAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$O,create_fragment$P,safe_not_equal,{data:0})}}var pinnedAppObject=Object.freeze({__proto__:null,default:PinnedAppObject,extractKey:extractKey$4});function create_default_slot$i(e){let t,n;return t=new AppObjectList({props:{list:[...e[1],...e[0]],module:pinnedAppObject,passProps:{connectionColorFactory:e[2]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};3&n&&(o.list=[...e[1],...e[0]]),4&n&&(o.passProps={connectionColorFactory:e[2]}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$O(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$i]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};71&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$N(e,t,n){let o,r,i,a,s;component_subscribe(e,currentDatabase,(e=>n(4,r=e))),component_subscribe(e,pinnedTables,(e=>n(5,i=e))),component_subscribe(e,pinnedDatabases,(e=>n(1,a=e)));const c=useConnectionColorFactory(3);return component_subscribe(e,c,(e=>n(2,s=e))),e.$$.update=()=>{48&e.$$.dirty&&n(0,o=i.filter((e=>{var t;return e.conid==(null===(t=null==r?void 0:r.connection)||void 0===t?void 0:t._id)&&e.database==(null==r?void 0:r.name)})))},[o,a,s,c,r,i]}class PinnedObjectsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$N,create_fragment$O,safe_not_equal,{})}}function create_fragment$N(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].columnName},{extInfo:e[1]},{icon:getColumnIcon(e[0],!0)},{menu:e[2]},{disableHover:!0}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=15&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].columnName},2&n&&{extInfo:e[1]},1&n&&{icon:getColumnIcon(e[0],!0)},4&n&&{menu:e[2]},o[6]]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$3=({columnName:e})=>e;function instance$M(e,t,n){let o;const r=["data"];let i=compute_rest_props(t,r),{data:a}=t;function s(){renameDatabaseObjectDialog(a.conid,a.database,a.columnName,((e,t)=>{e.tables.find((e=>e.schemaName==a.schemaName&&e.pureName==a.pureName)).columns.find((e=>e.columnName==a.columnName)).columnName=t}))}function c(){alterDatabaseDialog(a.conid,a.database,(e=>{const t=e.tables.find((e=>e.schemaName==a.schemaName&&e.pureName==a.pureName));_.remove(t.columns,(e=>e.columnName==a.columnName))}))}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,r)),"data"in e&&n(0,a=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(1,o=a.foreignKey?`${a.dataType} -> ${a.foreignKey.refTableName}`:a.dataType)},[a,o,function(){return[{text:"Rename column",onClick:s},{text:"Drop column",onClick:c}]},i]}class ColumnAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$M,create_fragment$N,safe_not_equal,{data:0})}}var columnAppObject=Object.freeze({__proto__:null,default:ColumnAppObject,extractKey:extractKey$3});function create_fragment$M(e){let t,n;return t=new AppObjectList({props:{list:(e[0].columns||[]).map(e[1]),module:columnAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.list=(e[0].columns||[]).map(e[1])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$L(e,t,n){let{data:o}=t;return e.$$set=e=>{"data"in e&&n(0,o=e.data)},[o,e=>({...o,...e,foreignKey:lib$4.findForeignKeyForColumn(o,e)})]}class SubColumnParamList extends SvelteComponent{constructor(e){super(),init(this,e,instance$L,create_fragment$M,safe_not_equal,{data:0})}}function create_else_block$8(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_7]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_6$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};16777224&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};16778287&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_1$c(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777234&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$k(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$h]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16778240&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[20](t)}let p={placeholder:"Search tables or objects"};function m(t){e[21](t)}void 0!==e[3]&&(p.value=e[3]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[3]&&(h.filter=e[3]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[12]}}),l=new InlineButton({props:{title:"Refresh database connection and object list",$$slots:{default:[create_default_slot_8]},$$scope:{ctx:e}}}),l.$on("click",e[11]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&8&o&&(n=!0,a.value=e[3],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&8&o&&(i=!0,s.filter=e[3],add_flush_callback((()=>i=!1))),r.$set(s);const c={};16777216&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_else_block_1$1(e){let t,n;return t=new AppObjectList({props:{list:e[5].map(e[22]),module:databaseObjectAppObject,groupFunc:e[23],subItemsComponent:SubColumnParamList,isExpandable:func_2$1,expandIconFunc:chevronExpandIcon,filter:e[3],passProps:{showPinnedInsteadOfUnpin:!0}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};35&n&&(o.list=e[5].map(e[22])),8&n&&(o.filter=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$3(e){let t,n;return t=new LoadingInfo({props:{message:"Loading database structure"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6$1(e){let t,n,o,r;const i=[create_if_block_4$3,create_else_block_1$1],a=[];function s(e,t){return e[10]&&("pending"==e[10].name||"checkStructure"==e[10].name||"loadStructure"==e[10].name)&&e[2]||!e[2]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot_5$1(e){let t;return{c(){t=text$1("Refresh")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_3$5(e){let t,n,o,r;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_4$1]},$$scope:{ctx:e}}}),o.$on("click",e[18]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,i){insert(e,t,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,t){const n={};16777216&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_4$1(e){let t;return{c(){t=text$1("New table")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_2$6(e){let t,n,o,r;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_3$6]},$$scope:{ctx:e}}}),o.$on("click",e[19]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,i){insert(e,t,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,t){const n={};16777216&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_3$6(e){let t;return{c(){t=text$1("New collection")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_2$b(e){let t,n,o,r,i,a,s,c,l,u=e[4]?.databaseEngineTypes?.includes("sql"),d=e[4]?.databaseEngineTypes?.includes("document");t=new ErrorInfo({props:{message:`Database ${e[1]} is empty or structure is not loaded, press Refresh button to reload structure`,icon:"img alert"}}),i=new InlineButton({props:{$$slots:{default:[create_default_slot_5$1]},$$scope:{ctx:e}}}),i.$on("click",e[11]);let p=u&&create_if_block_3$5(e),m=d&&create_if_block_2$6(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),r=space(),create_component(i.$$.fragment),a=space(),p&&p.c(),s=space(),m&&m.c(),c=empty(),attr(o,"class","m-1")},m(e,u){mount_component(t,e,u),insert(e,n,u),insert(e,o,u),insert(e,r,u),mount_component(i,e,u),insert(e,a,u),p&&p.m(e,u),insert(e,s,u),m&&m.m(e,u),insert(e,c,u),l=!0},p(e,n){const o={};2&n&&(o.message=`Database ${e[1]} is empty or structure is not loaded, press Refresh button to reload structure`),t.$set(o);const r={};16777216&n&&(r.$$scope={dirty:n,ctx:e}),i.$set(r),16&n&&(u=e[4]?.databaseEngineTypes?.includes("sql")),u?p?(p.p(e,n),16&n&&transition_in(p,1)):(p=create_if_block_3$5(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),16&n&&(d=e[4]?.databaseEngineTypes?.includes("document")),d?m?(m.p(e,n),16&n&&transition_in(m,1)):(m=create_if_block_2$6(e),m.c(),transition_in(m,1),m.m(c.parentNode,c)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros())},i(e){l||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(p),transition_in(m),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(p),transition_out(m),l=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(r),destroy_component(i,e),e&&detach(a),p&&p.d(e),e&&detach(s),m&&m.d(e),e&&detach(c)}}}function create_default_slot_1$d(e){let t;return{c(){t=text$1("Refresh")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$h(e){let t,n,o,r;return t=new ErrorInfo({props:{message:e[10].message,icon:"img error"}}),o=new InlineButton({props:{$$slots:{default:[create_default_slot_1$d]},$$scope:{ctx:e}}}),o.$on("click",e[11]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1024&n&&(r.message=e[10].message),t.$set(r);const i={};16777216&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$L(e){let t,n,o,r;const i=[create_if_block$k,create_if_block_1$c,create_else_block$8],a=[];function s(e,t){return e[10]&&"error"==e[10].name?0:0==e[5].length&&e[10]&&"pending"!=e[10].name&&"checkStructure"!=e[10].name&&"loadStructure"!=e[10].name&&e[2]?1:2}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const func_2$1=e=>"tables"==e.objectTypeField||"views"==e.objectTypeField||"matviews"==e.objectTypeField;function instance$K(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f,g=noop$3,$=noop$3,b=noop$3,v=noop$3;component_subscribe(e,currentDatabase,(e=>n(15,p=e))),component_subscribe(e,extensions,(e=>n(16,m=e))),e.$$.on_destroy.push((()=>g())),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b())),e.$$.on_destroy.push((()=>v()));let{conid:y}=t,{database:x}=t,w="";return e.$$set=e=>{"conid"in e&&n(0,y=e.conid),"database"in e&&n(1,x=e.database)},e.$$.update=()=>{3&e.$$.dirty&&(n(9,o=useDatabaseInfo({conid:y,database:x})),g(),g=subscribe(o,(e=>n(2,u=e)))),3&e.$$.dirty&&(n(8,r=useDatabaseStatus({conid:y,database:x})),v(),v=subscribe(r,(e=>n(10,f=e)))),1&e.$$.dirty&&(n(7,i=useConnectionInfo({conid:y})),b(),b=subscribe(i,(e=>n(17,h=e)))),196608&e.$$.dirty&&n(4,a=lib$4.findEngineDriver(h,m)),49152&e.$$.dirty&&n(13,c=filterAppsForDatabase(null==p?void 0:p.connection,null==p?void 0:p.name,d||[])),8196&e.$$.dirty&&n(5,l=_.flatten([...["tables","collections","views","matviews","procedures","functions"].map((e=>_.sortBy(((u||{})[e]||[]).map((t=>Object.assign(Object.assign({},t),{objectTypeField:e}))),["schemaName","pureName"]))),...c.map((e=>e.queries.map((t=>({objectTypeField:"queries",pureName:t.name,schemaName:e.name,sql:t.sql})))))]))},n(6,s=useUsedApps()),$(),$=subscribe(s,(e=>n(14,d=e))),[y,x,u,w,a,l,s,i,r,o,f,()=>{apiCall("database-connections/refresh",{conid:y,database:x})},function(){var e,t;const n=[];return(null===(e=null==a?void 0:a.databaseEngineTypes)||void 0===e?void 0:e.includes("document"))&&n.push({command:"new.collection"}),(null===(t=null==a?void 0:a.databaseEngineTypes)||void 0===t?void 0:t.includes("sql"))&&n.push({command:"new.table"}),a&&n.push(...a.getNewObjectTemplates().map((e=>({text:e.label,onClick:()=>{newQuery({initialData:e.sql})}})))),n},c,d,p,m,h,()=>runCommand("new.table"),()=>runCommand("new.collection"),function(e){w=e,n(3,w)},function(e){w=e,n(3,w)},e=>({...e,conid:y,database:x}),e=>getObjectTypeFieldLabel(e.objectTypeField)]}class SqlObjectList extends SvelteComponent{constructor(e){super(),init(this,e,instance$K,create_fragment$L,safe_not_equal,{conid:0,database:1})}}function create_default_slot_3$5(e){let t,n;return t=new TextField({props:{value:e[2]}}),t.$on("change",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$a(e){let t,n;return t=new SelectField({props:{options:e[0].supportedKeyTypes.map(func$3),value:e[3],isNative:!0}}),t.$on("change",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.options=e[0].supportedKeyTypes.map(func$3)),8&n&&(o.value=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$c(e){let t,n,o,r,i,a,s,c,l;return n=new FormFieldTemplateLarge({props:{label:"Key",type:"text",noMargin:!0,$$slots:{default:[create_default_slot_3$5]},$$scope:{ctx:e}}}),a=new FormFieldTemplateLarge({props:{label:"Type",type:"combo",noMargin:!0,$$slots:{default:[create_default_slot_2$a]},$$scope:{ctx:e}}}),c=new DbKeyItemDetail({props:{dbKeyFields:e[0].supportedKeyTypes.find(e[12]).dbKeyFields,item:e[1],onChangeItem:e[13]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=space(),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(r,"class","m-3"),attr(t,"class","container svelte-eg2ir1")},m(e,u){insert(e,t,u),mount_component(n,t,null),append(t,o),append(t,r),append(t,i),mount_component(a,t,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){const o={};32772&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};32777&t&&(r.$$scope={dirty:t,ctx:e}),a.$set(r);const i={};9&t&&(i.dbKeyFields=e[0].supportedKeyTypes.find(e[12]).dbKeyFields),2&t&&(i.item=e[1]),2&t&&(i.onChangeItem=e[13]),c.$set(i)},i(e){l||(transition_in(n.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(a),destroy_component(c)}}}function create_header_slot$1(e){let t;return{c(){t=text$1("Add key")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot(e){let t,n,o,r;return t=new FormStyledButton({props:{value:"OK"}}),t.$on("click",e[9]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$g(e){let t,n;const o=[e[5]];let r={$$slots:{footer:[create_footer_slot],header:[create_header_slot$1],default:[create_default_slot_1$c]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=32&n?get_spread_update(o,[get_spread_object(e[5])]):{};32783&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$K(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$g]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};32815&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$3=e=>({value:e.name,label:e.label});function instance$J(e,t,n){const o=["conid","database","driver","onConfirm"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{conid:a}=t,{database:s}=t,{driver:c}=t,{onConfirm:l}=t,u={},d="",p=c.supportedKeyTypes[0].name;const m=()=>i(void 0,void 0,void 0,(function*(){closeCurrentModal(),l(Object.assign({type:p,keyName:d},u))}));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(5,r=compute_rest_props(t,o)),"conid"in e&&n(6,a=e.conid),"database"in e&&n(7,s=e.database),"driver"in e&&n(0,c=e.driver),"onConfirm"in e&&n(8,l=e.onConfirm)},[c,u,d,p,m,r,a,s,l,e=>m(),e=>{n(2,d=e.target.value)},e=>{n(3,p=e.detail)},e=>e.name==p,e=>{n(1,u=e)}]}class AddDbKeyModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$J,create_fragment$K,safe_not_equal,{conid:6,database:7,driver:0,onConfirm:8})}}function create_if_block$j(e){let t,n;return t=new DbKeysSubTree({props:{conid:e[0],database:e[1],root:e[3].root,indentLevel:e[4]+1,reloadToken:e[7],connection:e[2],filter:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),8&n&&(o.root=e[3].root),16&n&&(o.indentLevel=e[4]+1),128&n&&(o.reloadToken=e[7]),4&n&&(o.connection=e[2]),32&n&&(o.filter=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$J(e){let t,n,o,r;t=new AppObjectCore({props:{icon:lib$4.getIconForRedisType(e[3].type),title:e[3].text,expandIcon:"dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box",extInfo:e[3].count?`(${e[3].count})`:null,indentLevel:e[4],menu:e[9]}}),t.$on("expand",e[12]),t.$on("click",e[13]);let i=e[6]&&create_if_block$j(e);return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,[n]){const r={};8&n&&(r.icon=lib$4.getIconForRedisType(e[3].type)),8&n&&(r.title=e[3].text),72&n&&(r.expandIcon="dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box"),8&n&&(r.extInfo=e[3].count?`(${e[3].count})`:null),16&n&&(r.indentLevel=e[4]),t.$set(r),e[6]?i?(i.p(e,n),64&n&&transition_in(i,1)):(i=create_if_block$j(e),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function instance$I(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(8,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i,{conid:a}=t,{database:s}=t,{connection:c}=t,{root:l}=t,{item:u}=t,{indentLevel:d=0}=t,{filter:p}=t,{onRefreshParent:m}=t,h=0;return e.$$set=e=>{"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database),"connection"in e&&n(2,c=e.connection),"root"in e&&n(10,l=e.root),"item"in e&&n(3,u=e.item),"indentLevel"in e&&n(4,d=e.indentLevel),"filter"in e&&n(5,p=e.filter),"onRefreshParent"in e&&n(11,m=e.onRefreshParent)},[a,s,c,u,d,p,i,h,o,function(){return[null!=u.key&&!(null==c?void 0:c.isReadOnly)&&{label:"Delete key",onClick:()=>{showModal(ConfirmModal,{message:`Really delete key ${u.key}?`,onConfirm:()=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"del",args:[u.key]}),m&&m()}))})}},null!=u.key&&!(null==c?void 0:c.isReadOnly)&&{label:"Rename key",onClick:()=>{showModal(InputTextModal,{value:u.key,label:"New name",header:"Rename key",onConfirm:e=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"rename",args:[u.key,e]}),m&&m()}))})}},"dir"==u.type&&!(null==c?void 0:c.isReadOnly)&&{label:"Reload",onClick:()=>{n(7,h+=1)}},"dir"==u.type&&!(null==c?void 0:c.isReadOnly)&&{label:"Delete branch",onClick:()=>{const e=`${u.root}:*`;showModal(ConfirmModal,{message:`Really delete branch ${e} with all keys?`,onConfirm:()=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"mdel",args:[e]}),m&&m()}))})}},,{label:"Generate script",onClick:()=>r(this,void 0,void 0,(function*(){const e=yield apiCall("database-connections/export-keys",{conid:a,database:s,options:{keyPrefix:u.root||u.key}});e.errorMessage?showSnackbarError(e.errorMessage):newQuery({title:"Export #",initialData:e})}))}]},l,m,()=>{"dir"==u.type&&n(6,i=!i)},()=>{"dir"==u.type?n(6,i=!i):(openNewTab({tabComponent:"DbKeyDetailTab",title:u.text,icon:"img keydb",props:{isDefaultBrowser:!0,conid:a,database:s}}),set_store_value(activeDbKeysStore,o={...o,[`${a}:${s}`]:u.key},o))}]}class DbKeysTreeNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$I,create_fragment$J,safe_not_equal,{conid:0,database:1,connection:2,root:10,item:3,indentLevel:4,filter:5,onRefreshParent:11})}}function get_then_context(e){const t=_.sortBy(e[11]||[],"text");e[12]=t}function get_each_context$c(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_catch_block(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block(e){let t,n,o;get_then_context(e);let r=e[12].slice(0,e[8]),i=[];for(let t=0;t<r.length;t+=1)i[t]=create_each_block$c(get_each_context$c(e,r,t));const a=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));let s=e[12].length>e[8]&&create_if_block$i(e);return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=space(),s&&s.c(),n=empty()},m(e,r){for(let t=0;t<i.length;t+=1)i[t].m(e,r);insert(e,t,r),s&&s.m(e,r),insert(e,n,r),o=!0},p(e,o){if(get_then_context(e),511&o){let n;for(r=e[12].slice(0,e[8]),n=0;n<r.length;n+=1){const a=get_each_context$c(e,r,n);i[n]?(i[n].p(a,o),transition_in(i[n],1)):(i[n]=create_each_block$c(a),i[n].c(),transition_in(i[n],1),i[n].m(t.parentNode,t))}for(group_outros(),n=r.length;n<i.length;n+=1)a(n);check_outros()}e[12].length>e[8]?s?(s.p(e,o),471&o&&transition_in(s,1)):(s=create_if_block$i(e),s.c(),transition_in(s,1),s.m(n.parentNode,n)):s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros())},i(e){if(!o){for(let e=0;e<r.length;e+=1)transition_in(i[e]);transition_in(s),o=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);transition_out(s),o=!1},d(e){destroy_each(i,e),e&&detach(t),s&&s.d(e),e&&detach(n)}}}function create_each_block$c(e){let t,n;return t=new DbKeysTreeNode({props:{conid:e[0],database:e[1],root:e[2],connection:e[5],item:e[13],filter:e[6],indentLevel:e[3],onRefreshParent:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),4&n&&(o.root=e[2]),32&n&&(o.connection=e[5]),471&n&&(o.item=e[13]),64&n&&(o.filter=e[6]),8&n&&(o.indentLevel=e[3]),128&n&&(o.onRefreshParent=e[9]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$i(e){let t,n;return t=new AppObjectCore({props:{indentLevel:e[3],title:"Show more...",icon:"icon dots-horizontal",expandIcon:"icon invisible-box"}}),t.$on("click",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.indentLevel=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_pending_block(e){let t,n;return t=new LoadingInfo({props:{message:"Loading key list",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$I(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block,then:create_then_block,catch:create_catch_block,value:11,blocks:[,,,]};return handle_promise(n=apiCall("database-connections/load-keys",{conid:e[0],database:e[1],root:e[2],filter:e[6],reloadToken:e[4],reloadToken2:e[7]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,[o]){e=t,r.ctx=e,215&o&&n!==(n=apiCall("database-connections/load-keys",{conid:e[0],database:e[1],root:e[2],filter:e[6],reloadToken:e[4],reloadToken2:e[7]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}const SHOW_INCREMENT=500;function instance$H(e,t,n){let{conid:o}=t,{database:r}=t,{root:i}=t,{indentLevel:a=0}=t,{reloadToken:s=0}=t,{connection:c}=t,{filter:l}=t,u=0,d=SHOW_INCREMENT;return e.$$set=e=>{"conid"in e&&n(0,o=e.conid),"database"in e&&n(1,r=e.database),"root"in e&&n(2,i=e.root),"indentLevel"in e&&n(3,a=e.indentLevel),"reloadToken"in e&&n(4,s=e.reloadToken),"connection"in e&&n(5,c=e.connection),"filter"in e&&n(6,l=e.filter)},[o,r,i,a,s,c,l,u,d,()=>{n(7,u+=1)},()=>{n(8,d+=SHOW_INCREMENT)}]}class DbKeysSubTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$H,create_fragment$I,safe_not_equal,{conid:0,database:1,root:2,indentLevel:3,reloadToken:4,connection:5,filter:6})}}function create_default_slot_3$4(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$9(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$b(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search keys",isDebounced:!0};function m(t){e[8](t)}void 0!==e[2]&&(p.value=e[2]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[2]&&(h.filter=e[2]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new InlineButton({props:{title:"Add new key",$$slots:{default:[create_default_slot_3$4]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh key list",$$slots:{default:[create_default_slot_2$9]},$$scope:{ctx:e}}}),l.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&4&o&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&4&o&&(i=!0,c.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(c);const u={};1024&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};1024&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$f(e){let t,n;return t=new DbKeysSubTree({props:{conid:e[0],database:e[1],root:"",reloadToken:e[3],connection:e[4]?.connection,filter:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),8&n&&(o.reloadToken=e[3]),16&n&&(o.connection=e[4]?.connection),4&n&&(o.filter=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$H(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$b]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$f]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};1028&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1055&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$G(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(4,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i,{conid:a}=t,{database:s}=t,c=0;function l(){n(3,c+=1)}return e.$$set=e=>{"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database)},[a,s,i,c,o,l,function(){const e=null==o?void 0:o.connection,t=null==o?void 0:o.name,n=lib$4.findEngineDriver(e,getExtensions());showModal(AddDbKeyModal,{conid:e._id,database:t,driver:n,onConfirm:o=>r(this,void 0,void 0,(function*(){const r=n.supportedKeyTypes.find((e=>e.name==o.type));yield apiCall("database-connections/call-method",{conid:e._id,database:t,method:r.addMethod,args:[o.keyName,...r.dbKeyFields.map((e=>o[e.name]))]}),l()}))})},function(e){i=e,n(2,i)},function(e){i=e,n(2,i)}]}class DbKeysTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$G,create_fragment$H,safe_not_equal,{conid:0,database:1})}}function create_if_block_3$4(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Connections",name:"connections",height:"35%",storageName:"connectionsWidget",$$slots:{default:[create_default_slot_6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6(e){let t,n;return t=new ConnectionList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_5(e){let t,n;return t=new PinnedObjectsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$7(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Database content",name:"dbObjects",storageName:"dbObjectsWidget",$$slots:{default:[create_default_slot_3$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65536&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$h(e){let t,n,o,r,i,a;const s=[create_if_block_1$b,create_if_block_2$5],c=[];function l(e,o){return 64&o&&(t=null),64&o&&(n=null),null==t&&(t=!(!e[6]?.databaseEngineTypes?.includes("sql")&&!e[6]?.databaseEngineTypes?.includes("document"))),t?0:(null==n&&(n=!!e[6]?.databaseEngineTypes?.includes("keyvalue")),n?1:-1)}return~(o=l(e,-1))&&(r=c[o]=s[o](e)),{c(){r&&r.c(),i=empty()},m(e,t){~o&&c[o].m(e,t),insert(e,i,t),a=!0},p(e,t){let n=o;o=l(e,t),o===n?~o&&c[o].p(e,t):(r&&(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros()),~o?(r=c[o],r?r.p(e,t):(r=c[o]=s[o](e),r.c()),transition_in(r,1),r.m(i.parentNode,i)):r=null)},i(e){a||(transition_in(r),a=!0)},o(e){transition_out(r),a=!1},d(e){~o&&c[o].d(e),e&&detach(i)}}}function create_default_slot_4(e){let t,n;return t=new ErrorInfo({props:{message:"Database not selected",icon:"img alert"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$3(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65536&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$5(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Keys",name:"dbObjects",storageName:"dbObjectsWidget",$$slots:{default:[create_default_slot_2$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65546&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$b(e){let t,n;return t=new WidgetColumnBarItem({props:{title:e[6]?.databaseEngineTypes?.includes("document")?"Collections":"Tables, views, functions",name:"dbObjects",storageName:"dbObjectsWidget",$$slots:{default:[create_default_slot_1$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};64&n&&(o.title=e[6]?.databaseEngineTypes?.includes("document")?"Collections":"Tables, views, functions"),65546&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$8(e){let t,n;return t=new DbKeysTree({props:{conid:e[1],database:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),8&n&&(o.database=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$a(e){let t,n;return t=new SqlObjectList({props:{conid:e[1],database:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),8&n&&(o.database=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$e(e){let t,n,o,r,i,a,s,c=!e[8]?.singleDatabase&&create_if_block_3$4(e);n=new WidgetColumnBarItem({props:{title:"Pinned",name:"pinned",height:"15%",storageName:"pinnedItemsWidget",skip:!e[9]?.length&&!e[10].some(e[15]),$$slots:{default:[create_default_slot_5]},$$scope:{ctx:e}}});const l=[create_if_block$h,create_else_block$7],u=[];function d(e,t){return e[1]&&(e[3]||e[4])?0:1}return r=d(e),i=u[r]=l[r](e),{c(){c&&c.c(),t=space(),create_component(n.$$.fragment),o=space(),i.c(),a=empty()},m(e,i){c&&c.m(e,i),insert(e,t,i),mount_component(n,e,i),insert(e,o,i),u[r].m(e,i),insert(e,a,i),s=!0},p(e,o){e[8]?.singleDatabase?c&&(group_outros(),transition_out(c,1,1,(()=>{c=null})),check_outros()):c?256&o&&transition_in(c,1):(c=create_if_block_3$4(e),c.c(),transition_in(c,1),c.m(t.parentNode,t));const s={};1542&o&&(s.skip=!e[9]?.length&&!e[10].some(e[15])),65536&o&&(s.$$scope={dirty:o,ctx:e}),n.$set(s);let p=r;r=d(e),r===p?u[r].p(e,o):(group_outros(),transition_out(u[p],1,1,(()=>{u[p]=null})),check_outros(),i=u[r],i?i.p(e,o):(i=u[r]=l[r](e),i.c()),transition_in(i,1),i.m(a.parentNode,a))},i(e){s||(transition_in(c),transition_in(n.$$.fragment,e),transition_in(i),s=!0)},o(e){transition_out(c),transition_out(n.$$.fragment,e),transition_out(i),s=!1},d(e){c&&c.d(e),e&&detach(t),destroy_component(n,e),e&&detach(o),u[r].d(e),e&&detach(a)}}}function create_fragment$G(e){let t,n;return t=new WidgetColumnBar({props:{hidden:e[0],$$slots:{default:[create_default_slot$e]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.hidden=e[0]),67422&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$F(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f=noop$3,g=noop$3;var _,$;component_subscribe(e,currentDatabase,(e=>n(2,l=e))),component_subscribe(e,extensions,(e=>n(13,u=e))),component_subscribe(e,pinnedDatabases,(e=>n(9,m=e))),component_subscribe(e,pinnedTables,(e=>n(10,h=e))),e.$$.on_destroy.push((()=>f())),e.$$.on_destroy.push((()=>g()));let{hidden:b=!1}=t;return e.$$set=e=>{"hidden"in e&&n(0,b=e.hidden)},e.$$.update=()=>{2052&e.$$.dirty&&n(1,o=null===n(11,_=null==l?void 0:l.connection)||void 0===_?void 0:_._id),2&e.$$.dirty&&(n(7,r=useConnectionInfo({conid:o})),f(),f=subscribe(r,(e=>n(14,d=e)))),24576&e.$$.dirty&&n(6,i=lib$4.findEngineDriver(d,u)),4100&e.$$.dirty&&n(4,s=null===n(12,$=null==l?void 0:l.connection)||void 0===$?void 0:$.singleDatabase),4&e.$$.dirty&&n(3,c=null==l?void 0:l.name)},n(5,a=useConfig()),g(),g=subscribe(a,(e=>n(8,p=e))),[b,o,l,c,s,a,i,r,p,m,h,_,$,u,d,e=>e.conid==o&&e.database==l?.name]}class DatabaseWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$F,create_fragment$G,safe_not_equal,{hidden:0})}}function create_default_slot_2$7(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$9(e){let t,n,o,r,i,a,s,c;function l(t){e[17](t)}let u={placeholder:"Search saved files"};function d(t){e[18](t)}void 0!==e[0]&&(u.value=e[0]),t=new SearchInput({props:u}),binding_callbacks.push((()=>bind(t,"value",l)));let p={};return void 0!==e[0]&&(p.filter=e[0]),r=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind(r,"filter",d))),s=new InlineButton({props:{title:"Refresh files",$$slots:{default:[create_default_slot_2$7]},$$scope:{ctx:e}}}),s.$on("click",e[9]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),c=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const l={};1048576&o&&(l.$$scope={dirty:o,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$d(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$9]},$$scope:{ctx:e}}}),o=new AppObjectList({props:{list:e[1],module:savedFileAppObject,groupFunc:e[19],filter:e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1048577&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};2&n&&(i.list=e[1]),1&n&&(i.filter=e[0]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$F(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$d]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1048579&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$E(e,t,n){let o,r,i,a,s,c,l,u,d="";const p=useFiles({folder:"sql"});component_subscribe(e,p,(e=>n(16,u=e)));const m=useFiles({folder:"shell"});component_subscribe(e,m,(e=>n(15,l=e)));const h=useFiles({folder:"markdown"});component_subscribe(e,h,(e=>n(14,c=e)));const f=useFiles({folder:"charts"});component_subscribe(e,f,(e=>n(13,s=e)));const g=useFiles({folder:"query"});component_subscribe(e,g,(e=>n(12,a=e)));const $=useFiles({folder:"sqlite"});component_subscribe(e,$,(e=>n(11,i=e)));const b=useFiles({folder:"diagrams"});component_subscribe(e,b,(e=>n(10,r=e)));return e.$$.update=()=>{130048&e.$$.dirty&&n(1,o=[...u||[],...l||[],...c||[],...s||[],...a||[],...i||[],...r||[]])},[d,o,p,m,h,f,g,$,b,function(){apiCall("files/refresh",{folders:["sql","shell","markdown","charts","query","sqlite","diagrams"]})},r,i,a,s,c,l,u,function(e){d=e,n(0,d)},function(e){d=e,n(0,d)},e=>_.startCase(e.folder)]}class SavedFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$E,create_fragment$F,safe_not_equal,{})}}function create_if_block_1$a(e){let t,n,o,r,i,a=e[0].props.database+"";return n=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","info svelte-xmmjcw")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){(!i||1&t)&&a!==(a=e[0].props.database+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$g(e){let t,n,o=e[0].contentPreview+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","info svelte-xmmjcw")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&o!==(o=e[0].contentPreview+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_default_slot$c(e){let t,n,o,r=e[0].props&&e[0].props.database&&create_if_block_1$a(e),i=e[0].contentPreview&&create_if_block$g(e);return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,o){e[0].props&&e[0].props.database?r?(r.p(e,o),1&o&&transition_in(r,1)):(r=create_if_block_1$a(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),e[0].contentPreview?i?i.p(e,o):(i=create_if_block$g(e),i.c(),i.m(n.parentNode,n)):i&&(i.d(1),i=null)},i(e){o||(transition_in(r),o=!0)},o(e){transition_out(r),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_fragment$E(e){let t,n;const o=[e[3],{data:e[0]},{title:`${e[0].title} ${moment(e[0].closedTime).fromNow()}`},{icon:e[0].icon},{isBold:!!e[0].selected},{isBusy:e[0].busy},{menu:e[2]}];let r={$$slots:{default:[create_default_slot$c]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:`${e[0].title} ${moment(e[0].closedTime).fromNow()}`},1&n&&{icon:e[0].icon},1&n&&{isBold:!!e[0].selected},1&n&&{isBusy:e[0].busy},4&n&&{menu:e[2]}]):{};65&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$2=e=>e.tabid;function instance$D(e,t,n){const o=["data"];let r=compute_rest_props(t,o),{data:i}=t;const a=()=>{openedTabs.update((e=>e.filter((e=>e.tabid!=i.tabid))))},s=()=>{openedTabs.update((e=>e.filter((e=>!e.closedTime||e.closedTime>=i.closedTime))))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,i=e.data)},[i,()=>{openedTabs.update((e=>setSelectedTabFunc(e.map((e=>Object.assign(Object.assign({},e),{closedTime:e.tabid==i.tabid?void 0:e.closedTime}))),i.tabid)))},function(){return[{text:"Delete",onClick:a},{text:"Delete older",onClick:s}]},r]}class ClosedTabAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$D,create_fragment$E,safe_not_equal,{data:0})}}var closedTabAppObject=Object.freeze({__proto__:null,default:ClosedTabAppObject,extractKey:extractKey$2});function create_default_slot_3$2(e){let t,n;return t=new SavedFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$f(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Favorites",name:"favorites",storageName:"favoritesWidget",$$slots:{default:[create_default_slot_1$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$6(e){let t,n;return t=new AppObjectList({props:{list:e[1]||[],module:favoriteFileAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.list=e[1]||[]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$8(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$b(e){let t,n,o,r,i=hasPermission("files/favorites/read");t=new WidgetColumnBarItem({props:{title:"Saved files",name:"files",height:"70%",storageName:"savedFilesWidget",$$slots:{default:[create_default_slot_3$2]},$$scope:{ctx:e}}});let a=i&&create_if_block$f(e);return{c(){create_component(t.$$.fragment),n=space(),a&&a.c(),o=empty()},m(e,i){mount_component(t,e,i),insert(e,n,i),a&&a.m(e,i),insert(e,o,i),r=!0},p(e,n){const o={};4&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o),i&&a.p(e,n)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(a),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(a),r=!1},d(e){destroy_component(t,e),e&&detach(n),a&&a.d(e),e&&detach(o)}}}function create_fragment$D(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$C(e,t,n){let o,r,i=noop$3;return e.$$.on_destroy.push((()=>i())),n(0,o=useFavorites()),i(),i=subscribe(o,(e=>n(1,r=e))),[o,r]}class FilesWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$C,create_fragment$D,safe_not_equal,{})}}function get_each_context$b(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_else_block$6(e){let t,n,o=e[3].version+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","ml-1")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&o!==(o=e[3].version+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block$e(e){let t;return{c(){t=element("div"),t.textContent="(builtin)",attr(t,"class","ml-1 builtin svelte-11a2g2s")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_each_block$b(e,t){let n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v=t[3].name+"",y=extractPluginDescription(t[3])+"",x=extractPluginAuthor(t[3])+"";function w(e,t){return e[3].isPackaged?create_if_block$e:create_else_block$6}let C=w(t),k=C(t);function S(){return t[2](t[3])}return{key:e,first:null,c(){n=element("div"),o=element("img"),i=space(),a=element("div"),s=element("div"),c=element("div"),l=text$1(v),u=space(),k.c(),d=space(),p=element("div"),m=text$1(y),h=space(),f=element("div"),g=text$1(x),_=space(),attr(o,"class","icon svelte-11a2g2s"),src_url_equal(o.src,r=extractPluginIcon(t[3]))||attr(o,"src",r),attr(c,"class","bold"),attr(s,"class","flex"),attr(f,"class","bold"),attr(a,"class","ml-2"),attr(n,"class","wrapper svelte-11a2g2s"),this.first=n},m(e,t){insert(e,n,t),append(n,o),append(n,i),append(n,a),append(a,s),append(s,c),append(c,l),append(s,u),k.m(s,null),append(a,d),append(a,p),append(p,m),append(a,h),append(a,f),append(f,g),append(n,_),$||(b=listen(n,"click",S),$=!0)},p(e,n){t=e,1&n&&!src_url_equal(o.src,r=extractPluginIcon(t[3]))&&attr(o,"src",r),1&n&&v!==(v=t[3].name+"")&&set_data(l,v),C===(C=w(t))&&k?k.p(t,n):(k.d(1),k=C(t),k&&(k.c(),k.m(s,null))),1&n&&y!==(y=extractPluginDescription(t[3])+"")&&set_data(m,y),1&n&&x!==(x=extractPluginAuthor(t[3])+"")&&set_data(g,x)},d(e){e&&detach(n),k.d(),$=!1,b()}}}function create_fragment$C(e){let t,n=[],o=new Map,r=e[0]||[];const i=e=>e[3].name;for(let t=0;t<r.length;t+=1){let a=get_each_context$b(e,r,t),s=i(a);o.set(s,n[t]=create_each_block$b(s,a))}return{c(){for(let e=0;e<n.length;e+=1)n[e].c();t=empty()},m(e,o){for(let t=0;t<n.length;t+=1)n[t].m(e,o);insert(e,t,o)},p(e,[a]){3&a&&(r=e[0]||[],n=update_keyed_each(n,a,i,1,e,r,o,t.parentNode,destroy_block,create_each_block$b,t,get_each_context$b))},i:noop$3,o:noop$3,d(e){for(let t=0;t<n.length;t+=1)n[t].d(e);e&&detach(t)}}}function instance$B(e,t,n){let{plugins:o}=t;function r(e){openNewTab({title:e.name,icon:"icon plugin",tabComponent:"PluginTab",props:{packageName:e.name}})}return e.$$set=e=>{"plugins"in e&&n(0,o=e.plugins)},[o,r,e=>r(e)]}class PluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$B,create_fragment$C,safe_not_equal,{plugins:0})}}function create_default_slot_1$7(e){let t,n,o;function r(t){e[4](t)}let i={placeholder:"Search extensions on web",filter:e[0]};return void 0!==e[0]&&(i.value=e[0]),t=new SearchInput({props:i}),binding_callbacks.push((()=>bind(t,"value",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const r={};1&o&&(r.filter=e[0]),!n&&1&o&&(n=!0,r.value=e[0],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}function create_default_slot$a(e){let t,n;return t=new PluginsList({props:{plugins:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.plugins=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$B(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$7]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};65&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};68&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$A(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="",s="";const c=_.debounce((e=>n(3,s=e)),500);return e.$$.update=()=>{8&e.$$.dirty&&(n(1,o=useApiCall("plugins/search",{filter:s},[])),i(),i=subscribe(o,(e=>n(2,r=e)))),1&e.$$.dirty&&c(a)},[a,o,r,s,function(e){a=e,n(0,a)}]}class AvailablePluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$A,create_fragment$B,safe_not_equal,{})}}function create_default_slot$9(e){let t,n;return t=new PluginsList({props:{plugins:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.plugins=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$A(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$9]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$z(e,t,n){let o,r,i=noop$3;return e.$$.on_destroy.push((()=>i())),n(0,o=useInstalledPlugins()),i(),i=subscribe(o,(e=>n(1,r=e))),[o,r]}class InstalledPluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$z,create_fragment$A,safe_not_equal,{})}}function create_default_slot_2$5(e){let t,n;return t=new InstalledPluginsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$6(e){let t,n;return t=new AvailablePluginsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$8(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Installed extensions",name:"installed",height:"50%",storageName:"installedPluginsWidget",$$slots:{default:[create_default_slot_2$5]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Available extensions",name:"all",storageName:"allPluginsWidget",$$slots:{default:[create_default_slot_1$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$z(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class PluginsWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$z,safe_not_equal,{})}}function create_fragment$y(e){let t,n,o=e[0].map(e[1]).join("\n")+"";return{c(){t=new HtmlTag,n=empty(),t.a=n},m(e,r){t.m(o,e,r),insert(e,n,r)},p(e,[n]){1&n&&o!==(o=e[0].map(e[1]).join("\n")+"")&&t.p(o)},i:noop$3,o:noop$3,d(e){e&&detach(n),e&&t.d()}}}function instance$y(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o,e=>{const{value:t}=e;return _.isPlainObject(t)||_.isArray(t)?JSON.stringify(t,void 0,2):e.value}]}class HtmlCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$y,create_fragment$y,safe_not_equal,{selection:0})}}function create_else_block$5(e){let t,n,o,r;return o=new JSONTree({props:{value:e[0],expanded:!0}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"class","inner svelte-qjn8rh"),attr(t,"class","outer svelte-qjn8rh")},m(e,i){insert(e,t,i),append(t,n),mount_component(o,n,null),r=!0},p(e,t){const n={};1&t&&(n.value=e[0]),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block$d(e){let t,n;return t=new ErrorInfo({props:{message:"Error parsing JSON",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$x(e){let t,n,o,r;const i=[create_if_block$d,create_else_block$5],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$x(e,t,n){let{selection:o}=t,{showWholeRow:r=!1}=t,i=null,a=null;return e.$$set=e=>{"selection"in e&&n(2,o=e.selection),"showWholeRow"in e&&n(3,r=e.showWholeRow)},e.$$.update=()=>{if(12&e.$$.dirty)try{if(r)1==(null==o?void 0:o.length)?n(0,i=o[0].rowData):n(0,i=o.map((e=>e.rowData)));else{const e=o[0].value;n(0,i=_.isPlainObject(e)||_.isArray(e)?e:JSON.parse(e))}n(1,a=null)}catch(e){n(1,a=e.message)}},[i,a,o,r]}class JsonCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$x,create_fragment$x,safe_not_equal,{selection:2,showWholeRow:3})}}function create_fragment$w(e){let t,n;return t=new JsonCellView({props:{selection:e[0],showWholeRow:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$w(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class JsonRowView extends SvelteComponent{constructor(e){super(),init(this,e,instance$w,create_fragment$w,safe_not_equal,{selection:0})}}function create_else_block$4(e){let t,n;return t=new ErrorInfo({props:{message:"Error showing picture",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$c(e){let t,n,o;return{c(){t=element("div"),n=element("img"),src_url_equal(n.src,o=e[0])||attr(n,"src",o),attr(t,"class","wrapper svelte-13i2vsu")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&!src_url_equal(n.src,o=e[0])&&attr(n,"src",o)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_fragment$v(e){let t,n,o,r;const i=[create_if_block$c,create_else_block$4],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$v(e,t,n){let o;var r;let{selection:i}=t;return e.$$set=e=>{"selection"in e&&n(1,i=e.selection)},e.$$.update=()=>{6&e.$$.dirty&&n(0,o=function(e){try{const t=e;return"Buffer"==(null==t?void 0:t.type)&&_.isArray(null==t?void 0:t.data)?"data:image/png;base64, "+btoa(String.fromCharCode.apply(null,null==t?void 0:t.data)):null}catch(e){return console.log("Error showing picture",e),null}}(null===n(2,r=i[0])||void 0===r?void 0:r.value))},[o,i,r]}class PictureCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$v,create_fragment$v,safe_not_equal,{selection:1})}}function create_fragment$u(e){let t,n;return{c(){t=element("textarea"),attr(t,"class","flex1"),attr(t,"wrap",e[1]),t.readOnly=!0,t.value=n=e[0].map(e[2]).join("\n")},m(e,n){insert(e,t,n)},p(e,[o]){2&o&&attr(t,"wrap",e[1]),1&o&&n!==(n=e[0].map(e[2]).join("\n"))&&(t.value=n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$u(e,t,n){let{selection:o}=t,{wrap:r}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection),"wrap"in e&&n(1,r=e.wrap)},[o,r,e=>{const{value:t}=e;return _.isPlainObject(t)||_.isArray(t)?JSON.stringify(t,void 0,2):e.value}]}class TextCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$u,create_fragment$u,safe_not_equal,{selection:0,wrap:1})}}function create_fragment$t(e){let t,n;return t=new TextCellView({props:{wrap:"no",selection:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$t(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class TextCellViewNoWrap extends SvelteComponent{constructor(e){super(),init(this,e,instance$t,create_fragment$t,safe_not_equal,{selection:0})}}function create_fragment$s(e){let t,n;return t=new TextCellView({props:{wrap:"hard",selection:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$s(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class TextCellViewWrap extends SvelteComponent{constructor(e){super(),init(this,e,instance$s,create_fragment$s,safe_not_equal,{selection:0})}}function create_default_slot$7(e){let t;return{c(){t=text$1("Cell data view")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_else_block$3(e){let t,n,o;var r=e[2]?.component;function i(e){return{props:{selection:e[0]}}}return r&&(t=new r(i(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const a={};if(1&o&&(a.selection=e[0]),r!==(r=e[2]?.component)){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(t=new r(i(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else r&&t.$set(a)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_if_block_2$4(e){let t,n;return t=new ErrorInfo({props:{message:"No data selected",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$9(e){let t,n;return t=new ErrorInfo({props:{message:"Format not selected",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$b(e){let t,n;return t=new ErrorInfo({props:{message:"Must be selected one cell",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$r(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h;n=new WidgetTitle({props:{$$slots:{default:[create_default_slot$7]},$$scope:{ctx:e}}}),l=new SelectField({props:{isNative:!0,value:e[1],options:[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$2)]}}),l.$on("change",e[7]);const f=[create_if_block$b,create_if_block_1$9,create_if_block_2$4,create_else_block$3],g=[];function _(e,t){return e[2].single&&1!=e[0]?.length?0:null==e[2]?1:e[0]&&0!=e[0].length?3:2}return p=_(e),m=g[p]=f[p](e),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=element("div"),a=text$1("Format:"),s=element("span"),s.textContent=" ",c=space(),create_component(l.$$.fragment),u=space(),d=element("div"),m.c(),attr(i,"class","toolbar svelte-1lvmq5c"),attr(d,"class","data svelte-1lvmq5c"),attr(r,"class","main svelte-1lvmq5c"),attr(t,"class","wrapper svelte-1lvmq5c")},m(e,m){insert(e,t,m),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),append(i,a),append(i,s),append(i,c),mount_component(l,i,null),append(r,u),append(r,d),g[p].m(d,null),h=!0},p(e,[t]){const o={};256&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};2&t&&(r.value=e[1]),8&t&&(r.options=[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$2)]),l.$set(r);let i=p;p=_(e),p===i?g[p].p(e,t):(group_outros(),transition_out(g[i],1,1,(()=>{g[i]=null})),check_outros(),m=g[p],m?m.p(e,t):(m=g[p]=f[p](e),m.c()),transition_in(m,1),m.m(d,null))},i(e){h||(transition_in(n.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(m),h=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(m),h=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(l),g[p].d()}}}const formats=[{type:"textWrap",title:"Text (wrap)",component:TextCellViewWrap,single:!1},{type:"text",title:"Text (no wrap)",component:TextCellViewNoWrap,single:!1},{type:"json",title:"Json",component:JsonCellView,single:!0},{type:"jsonRow",title:"Json - Row",component:JsonRowView,single:!1},{type:"picture",title:"Picture",component:PictureCellView,single:!0},{type:"html",title:"HTML",component:HtmlCellView,single:!1}];function autodetect(e){var t,n,o;if(null===(o=null===(n=null===(t=e[0])||void 0===t?void 0:t.engine)||void 0===n?void 0:n.databaseEngineTypes)||void 0===o?void 0:o.includes("document"))return"jsonRow";const r=1==e.length?e[0].value:null;return _.isString(r)&&(r.startsWith("[")||r.startsWith("{"))||_.isPlainObject(r)||_.isArray(r)?"json":"textWrap"}const func$2=e=>({label:e.title,value:e.type});function instance$r(e,t,n){let o,r,i,a,s;component_subscribe(e,selectedCellsCallback,(e=>n(6,s=e)));let c="autodetect",{selection:l}=t;return e.$$set=e=>{"selection"in e&&n(0,l=e.selection)},e.$$.update=()=>{64&e.$$.dirty&&n(0,l=s?s():[]),1&e.$$.dirty&&n(5,o=autodetect(l)),32&e.$$.dirty&&n(3,r=formats.find((e=>e.type==o))),34&e.$$.dirty&&n(4,i="autodetect"==c?o:c),16&e.$$.dirty&&n(2,a=formats.find((e=>e.type==i)))},[l,c,a,r,i,o,s,e=>n(1,c=e.detail)]}class CellDataWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$r,create_fragment$r,safe_not_equal,{selection:0})}}function get_each_context$a(e,t,n){const o=e.slice();return o[10]=t[n],o}function create_default_slot_1$5(e){let t,n,o,r,i,a;function s(t){e[3](t)}let c={placeholder:"Search query history",filter:e[0]};function l(t){e[4](t)}void 0!==e[0]&&(c.value=e[0]),t=new SearchInput({props:c}),binding_callbacks.push((()=>bind(t,"value",s)));let u={};return void 0!==e[0]&&(u.filter=e[0]),r=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind(r,"filter",l))),r.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),a=!0},p(e,o){const a={};1&o&&(a.filter=e[0]),!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&1&o&&(i=!0,s.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e)}}}function create_each_block$a(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g=e[10].sql+"",_=e[10].database+"";function $(){return e[6](e[10])}return o=new FontIcon({props:{icon:"icon sql-file"}}),c=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(g),a=space(),s=element("div"),create_component(c.$$.fragment),l=space(),u=text$1(_),d=space(),attr(n,"class","sql svelte-fyr7t5"),attr(s,"class","info svelte-fyr7t5"),attr(t,"class","wrapper svelte-fyr7t5"),attr(t,"title",p=e[10].sql)},m(e,p){insert(e,t,p),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),append(t,s),mount_component(c,s,null),append(s,l),append(s,u),append(t,d),m=!0,h||(f=listen(t,"click",$),h=!0)},p(n,o){e=n,(!m||4&o)&&g!==(g=e[10].sql+"")&&set_data(i,g),(!m||4&o)&&_!==(_=e[10].database+"")&&set_data(u,_),(!m||4&o&&p!==(p=e[10].sql))&&attr(t,"title",p)},i(e){m||(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),m=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),m=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c),h=!1,f()}}}function create_default_slot$6(e){let t,n,o=e[2],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$a(get_each_context$a(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(4&n){let a;for(o=e[2],a=0;a<o.length;a+=1){const i=get_each_context$a(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$a(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_fragment$q(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$5]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};8195&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};8196&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$q(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r="",i="",a=[];function s(){return o(this,void 0,void 0,(function*(){const e=yield apiCall("query-history/read",{filter:i,limit:100});n(2,a=e)}))}const c=_.debounce((e=>n(1,i=e)),500);onMount((()=>(apiOn("query-history-changed",s),()=>{apiOff("query-history-changed",s)})));return e.$$.update=()=>{2&e.$$.dirty&&s(),1&e.$$.dirty&&c(r)},[r,i,a,function(e){r=e,n(0,r)},function(e){r=e,n(0,r)},()=>{n(1,i="")},e=>{openNewTab({title:"Query #",icon:"icon sql-file",tabComponent:"QueryTab",props:{conid:e.conid,database:e.database}},{editor:e.sql})}]}class QueryHistoryList extends SvelteComponent{constructor(e){super(),init(this,e,instance$q,create_fragment$q,safe_not_equal,{})}}function create_default_slot_3$1(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[0].filter(func$1),func_1$1),module:closedTabAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.list=_.sortBy(e[0].filter(func$1),func_1$1)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$4(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_3$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};5&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$4(e){let t,n;return t=new QueryHistoryList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$5(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Recently closed tabs",name:"closedTabs",storageName:"closedTabsWidget",$$slots:{default:[create_default_slot_2$4]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Query history",name:"queryHistory",storageName:"queryHistoryWidget",$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};5&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};4&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$p(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};5&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$1=e=>e.closedTime,func_1$1=e=>-e.closedTime;function instance$p(e,t,n){let o;return component_subscribe(e,openedTabs,(e=>n(0,o=e))),useFavorites(),[o]}class HistoryWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$p,create_fragment$p,safe_not_equal,{})}}function create_fragment$o(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getAppIcon(e[0])},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].fileLabel},1&n&&{icon:getAppIcon(e[0])},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$1=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function openTextFile(e,t,n,o,r){return __awaiter$1(this,void 0,void 0,(function*(){let i;const a=yield apiCall("files/load",{folder:"app:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:r,tabComponent:o,tooltip:i,props:Object.assign({savedFile:e+"."+t,savedFolder:"app:"+n,savedFormat:"text",appFolder:n},{})},{editor:a})}))}const extractKey$1=e=>e.fileName,createMatcher$1=({fileName:e})=>t=>lib$4.filterName(t,e),APP_ICONS={"config.json":"img json","command.sql":"img app-command","query.sql":"img app-query"};function getAppIcon(e){return APP_ICONS[e.fileType]}function instance$o(e,t,n){const o=["data"];let r=compute_rest_props(t,o);this&&this.__awaiter;let{data:i}=t;const a=()=>{showModal(InputTextModal,{value:i.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("apps/rename-file",{file:i.fileName,folder:i.folderName,fileType:i.fileType,newFile:e})}})},s=()=>{showModal(ConfirmModal,{message:`Really delete file ${i.fileName}?`,onConfirm:()=>{apiCall("apps/delete-file",{file:i.fileName,folder:i.folderName,fileType:i.fileType})}})},c=()=>{openTextFile(i.fileName,i.fileType,i.folderName,"QueryTab","img sql-file")},l=()=>{openTextFile(i.fileName,i.fileType,i.folderName,"JsonEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,i=e.data)},[i,()=>{i.fileType.endsWith(".sql")&&c(),i.fileType.endsWith(".json")&&l()},function(){return[{text:"Delete",onClick:s},{text:"Rename",onClick:a},i.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:c},i.fileType.endsWith(".json")&&{text:"Open JSON",onClick:l}]},r]}class AppFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$o,create_fragment$o,safe_not_equal,{data:0})}}var appFileAppObject=Object.freeze({__proto__:null,default:AppFileAppObject,extractKey:extractKey$1,createMatcher:createMatcher$1});function create_default_slot_2$3(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$3(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search application files"};function m(t){e[8](t)}void 0!==e[1]&&(p.value=e[1]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[1]&&(h.filter=e[1]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[5]}}),l=new InlineButton({props:{title:"Refresh files of selected application",$$slots:{default:[create_default_slot_2$3]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2&o&&(i=!0,s.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(s);const c={};16384&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$4(e){let t,n;return t=new AppObjectList({props:{list:(e[3]||[]).map(e[9]),groupFunc:e[10],module:appFileAppObject,filter:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9&n&&(o.list=(e[3]||[]).map(e[9])),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$n(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$3]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};16386&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};16395&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const APP_LABELS={"command.sql":"SQL commands","query.sql":"SQL queries"},COMMAND_TEMPLATE="-- Write SQL command here\n-- After save, you can execute it from database context menu, for all databases, which use this application\n",QUERY_TEMPLATE="-- Write SQL query here\n-- After save, you can view it in tables list, for all databases, which use this application\n";function instance$n(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,currentApplication,(e=>n(6,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l="";function u(e,t,n){showModal(InputTextModal,{value:"",label:"New file name",header:t,onConfirm:t=>c(this,void 0,void 0,(function*(){newQuery({title:t,initialData:n,savedFile:t+"."+e,savedFolder:"app:"+i,savedFormat:"text",appFolder:i})}))})}function d(e,t){return c(this,void 0,void 0,(function*(){(yield apiCall("apps/create-config-file",{fileName:e,content:t,appFolder:i}))||showSnackbarError("File not created, probably already exists")}))}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=i),1&e.$$.dirty&&(n(2,r=useAppFiles({folder:o})),s(),s=subscribe(r,(e=>n(3,a=e))))},[o,l,r,a,()=>{apiCall("apps/refresh-files",{folder:o})},function(){return[{text:"New SQL command",onClick:()=>u("command.sql","Create new SQL command",COMMAND_TEMPLATE)},{text:"New SQL query",onClick:()=>u("query.sql","Create new SQL query",QUERY_TEMPLATE)},{text:"New virtual references file",onClick:()=>d("virtual-references.config.json",[])},{text:"New dictionary descriptions file",onClick:()=>d("dictionary-descriptions.config.json",[])}]},i,function(e){l=e,n(1,l)},function(e){l=e,n(1,l)},e=>({fileName:e.name,folderName:o,fileType:e.type,fileLabel:e.label}),e=>APP_LABELS[e.fileType]||"App config"]}class AppFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$n,create_fragment$n,safe_not_equal,{})}}function create_fragment$m(e){let t,n;const o=[e[7],{data:e[0]},{title:e[0].name},{icon:"img app"},{statusIcon:e[6](e[3],e[2])?"icon check":null},{statusTitle:`Application ${e[0].name} is used for database ${e[3]?.name}`},{isBold:e[0].name==e[4]},{menu:e[5]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=253&n?get_spread_update(o,[128&n&&get_spread_object(e[7]),1&n&&{data:e[0]},1&n&&{title:e[0].name},o[3],76&n&&{statusIcon:e[6](e[3],e[2])?"icon check":null},9&n&&{statusTitle:`Application ${e[0].name} is used for database ${e[3]?.name}`},17&n&&{isBold:e[0].name==e[4]},32&n&&{menu:e[5]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey=e=>e.name,createMatcher=e=>t=>lib$4.filterName(t,e.name);function instance$m(e,t,n){let o;const r=["data"];let i,a,s,c=compute_rest_props(t,r),l=noop$3;component_subscribe(e,currentDatabase,(e=>n(3,a=e))),component_subscribe(e,currentApplication,(e=>n(4,s=e))),e.$$.on_destroy.push((()=>l()));var u=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:d}=t;const p=()=>{showModal(ConfirmModal,{message:`Really delete application ${d.name}?`,onConfirm:()=>{apiCall("apps/delete-folder",{folder:d.name})}})},m=()=>{const{name:e}=d;showModal(InputTextModal,{value:e,label:"New application name",header:"Rename application",onConfirm:e=>u(void 0,void 0,void 0,(function*(){yield apiCall("apps/rename-folder",{folder:d.name,newFolder:e}),s==d.name&&set_store_value(currentApplication,s=e,s)}))})};function h(e){var t;apiCall("connections/update-database",{conid:null===(t=null==a?void 0:a.connection)||void 0===t?void 0:t._id,database:null==a?void 0:a.name,values:{[`useApp:${d.name}`]:e}})}function f(e,t){var n;if(!e||!t)return!1;const o=t.find((t=>{var n;return t._id==(null===(n=null==e?void 0:e.connection)||void 0===n?void 0:n._id)})),r=null===(n=null==o?void 0:o.databases)||void 0===n?void 0:n.find((t=>t.name==(null==e?void 0:e.name)));return r&&r[`useApp:${d.name}`]}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,r)),"data"in e&&n(0,d=e.data)},n(1,o=useConnectionList()),l(),l=subscribe(o,(e=>n(2,i=e))),[d,o,i,a,s,function(){return[{text:"Delete",onClick:p},{text:"Rename",onClick:m},a&&[!f(a,i)&&{text:"Enable on current database",onClick:()=>h(!0)},f(a,i)&&{text:"Disable on current database",onClick:()=>h(!1)}]]},f,c,()=>set_store_value(currentApplication,s=d.name,s)]}class AppFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$m,create_fragment$m,safe_not_equal,{data:0})}}var appFolderAppObject=Object.freeze({__proto__:null,default:AppFolderAppObject,extractKey:extractKey,createMatcher:createMatcher});function create_default_slot_3(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$2(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$2(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[4](t)}let p={placeholder:"Search applications"};function m(t){e[5](t)}void 0!==e[0]&&(p.value=e[0]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[0]&&(h.filter=e[0]),r=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(r,"filter",m))),s=new InlineButton({props:{title:"Create new application",$$slots:{default:[create_default_slot_3]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh application list",$$slots:{default:[create_default_slot_2$2]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const u={};128&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};128&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$3(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[2],"name"),module:appFolderAppObject,filter:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.list=_.sortBy(e[2],"name")),1&n&&(o.filter=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$l(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$2]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};129&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};133&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$l(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="";return n(1,o=useAppFolders()),i(),i=subscribe(o,(e=>n(2,r=e))),[a,o,r,()=>{apiCall("apps/refresh-folders")},function(e){a=e,n(0,a)},function(e){a=e,n(0,a)},()=>runCommand("new.application")]}class AppFolderList extends SvelteComponent{constructor(e){super(),init(this,e,instance$l,create_fragment$l,safe_not_equal,{})}}function create_default_slot_2$1(e){let t,n;return t=new AppFolderList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$1(e){let t,n;return t=new AppFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$2(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Applications",name:"apps",height:"30%",storageName:"appsWidget",$$slots:{default:[create_default_slot_2$1]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Application files",name:"files",storageName:"appFilesWidget",$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$k(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class AppWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$k,safe_not_equal,{})}}function create_if_block_5$2(e){let t,n;return t=new FilesWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$2(e){let t,n;return t=new HistoryWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$3(e){let t,n;return t=new ArchiveWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$3(e){let t,n;return t=new PluginsWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$8(e){let t,n;return t=new CellDataWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$a(e){let t,n;return t=new AppWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$j(e){let t,n,o,r,i,a,s,c,l;t=new DatabaseWidget({props:{hidden:"database"!=e[0]}});let u="file"==e[0]&&create_if_block_5$2(),d="history"==e[0]&&create_if_block_4$2(),p="archive"==e[0]&&create_if_block_3$3(),m="plugins"==e[0]&&create_if_block_2$3(),h="cell-data"==e[0]&&create_if_block_1$8(),f="app"==e[0]&&create_if_block$a();return{c(){create_component(t.$$.fragment),n=space(),u&&u.c(),o=space(),d&&d.c(),r=space(),p&&p.c(),i=space(),m&&m.c(),a=space(),h&&h.c(),s=space(),f&&f.c(),c=empty()},m(e,g){mount_component(t,e,g),insert(e,n,g),u&&u.m(e,g),insert(e,o,g),d&&d.m(e,g),insert(e,r,g),p&&p.m(e,g),insert(e,i,g),m&&m.m(e,g),insert(e,a,g),h&&h.m(e,g),insert(e,s,g),f&&f.m(e,g),insert(e,c,g),l=!0},p(e,[n]){const l={};1&n&&(l.hidden="database"!=e[0]),t.$set(l),"file"==e[0]?u?1&n&&transition_in(u,1):(u=create_if_block_5$2(),u.c(),transition_in(u,1),u.m(o.parentNode,o)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),"history"==e[0]?d?1&n&&transition_in(d,1):(d=create_if_block_4$2(),d.c(),transition_in(d,1),d.m(r.parentNode,r)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"archive"==e[0]?p?1&n&&transition_in(p,1):(p=create_if_block_3$3(),p.c(),transition_in(p,1),p.m(i.parentNode,i)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),"plugins"==e[0]?m?1&n&&transition_in(m,1):(m=create_if_block_2$3(),m.c(),transition_in(m,1),m.m(a.parentNode,a)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),"cell-data"==e[0]?h?1&n&&transition_in(h,1):(h=create_if_block_1$8(),h.c(),transition_in(h,1),h.m(s.parentNode,s)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),"app"==e[0]?f?1&n&&transition_in(f,1):(f=create_if_block$a(),f.c(),transition_in(f,1),f.m(c.parentNode,c)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros())},i(e){l||(transition_in(t.$$.fragment,e),transition_in(u),transition_in(d),transition_in(p),transition_in(m),transition_in(h),transition_in(f),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(u),transition_out(d),transition_out(p),transition_out(m),transition_out(h),transition_out(f),l=!1},d(e){destroy_component(t,e),e&&detach(n),u&&u.d(e),e&&detach(o),d&&d.d(e),e&&detach(r),p&&p.d(e),e&&detach(i),m&&m.d(e),e&&detach(a),h&&h.d(e),e&&detach(s),f&&f.d(e),e&&detach(c)}}}function instance$k(e,t,n){let o;return component_subscribe(e,selectedWidget,(e=>n(0,o=e))),[o]}class WidgetContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$k,create_fragment$j,safe_not_equal,{})}}var mainMenuDefinition=({editMenu:e})=>[{label:"File",submenu:[{command:"new.connection",hideDisabled:!0},{command:"new.sqliteDatabase",hideDisabled:!0},{divider:!0},{command:"new.query",hideDisabled:!0},{command:"new.freetable",hideDisabled:!0},{command:"new.shell",hideDisabled:!0},{command:"new.jsonl",hideDisabled:!0},{divider:!0},{command:"file.open",hideDisabled:!0},{command:"file.openArchive",hideDisabled:!0},{divider:!0},{command:"group.save",hideDisabled:!0},{command:"group.saveAs",hideDisabled:!0},{divider:!0},{command:"file.exit",hideDisabled:!0},{command:"app.logout",hideDisabled:!0,skipInApp:!0}]},{label:"Window",submenu:[{command:"tabs.closeTab",hideDisabled:!1},{command:"tabs.closeAll",hideDisabled:!1},{command:"tabs.closeTabsWithCurrentDb",hideDisabled:!1},{command:"tabs.closeTabsButCurrentDb",hideDisabled:!1},{divider:!0},{command:"app.zoomIn",hideDisabled:!0},{command:"app.zoomOut",hideDisabled:!0},{command:"app.zoomReset",hideDisabled:!0}]},e?{label:"Edit",submenu:[{command:"edit.undo"},{command:"edit.redo"},{divider:!0},{command:"edit.cut"},{command:"edit.copy"},{command:"edit.paste"}]}:null,{label:"View",submenu:[{command:"app.reload",hideDisabled:!0},{command:"app.toggleDevTools",hideDisabled:!0},{command:"app.toggleFullScreen",hideDisabled:!0},{command:"app.minimize",hideDisabled:!0},{divider:!0},{command:"theme.changeTheme",hideDisabled:!0},{command:"settings.show"}]},{label:"Tools",submenu:[{command:"database.search",hideDisabled:!0},{command:"commandPalette.show",hideDisabled:!0},{command:"database.switch",hideDisabled:!0},{divider:!0},{command:"sql.generator",hideDisabled:!0},{command:"file.import",hideDisabled:!0},{command:"new.modelCompare",hideDisabled:!0}]},{label:"Help",submenu:[{command:"app.openDocs",hideDisabled:!0},{command:"app.openWeb",hideDisabled:!0},{command:"app.openIssue",hideDisabled:!0},{command:"app.openSponsoring",hideDisabled:!0},{divider:!0},{command:"settings.commands",hideDisabled:!0},{command:"tabs.changelog",hideDisabled:!0},{command:"about.show",hideDisabled:!0}]}];function get_each_context$9(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block$9(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon menu"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper mb-3 svelte-1nclm36")},m(a,s){insert(a,t,s),mount_component(n,t,null),e[8](t),o=!0,r||(i=listen(t,"click",e[7]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(o){o&&detach(t),destroy_component(n),e[8](null),r=!1,i()}}}function create_each_block$9(e){let t,n,o,r,i;function a(){return e[10](e[13])}return n=new FontIcon({props:{icon:e[13].icon,title:e[13].title}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-1nclm36"),toggle_class(t,"selected",e[13].name==e[2])},m(e,s){insert(e,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",a),r=!0)},p(n,o){e=n,20&o&&toggle_class(t,"selected",e[13].name==e[2])},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_fragment$i(e){let t,n,o,r,i,a,s,c,l,u,d=e[3]&&create_if_block$9(e),p=e[4].filter(e[9]),m=[];for(let t=0;t<p.length;t+=1)m[t]=create_each_block$9(get_each_context$9(e,p,t));const h=e=>transition_out(m[e],1,1,(()=>{m[e]=null}));return s=new FontIcon({props:{icon:"icon settings"}}),{c(){t=element("div"),d&&d.c(),n=space();for(let e=0;e<m.length;e+=1)m[e].c();o=space(),r=element("div"),r.textContent=" ",i=space(),a=element("div"),create_component(s.$$.fragment),attr(r,"class","flex1"),attr(a,"class","wrapper svelte-1nclm36"),attr(t,"class","main svelte-1nclm36")},m(p,h){insert(p,t,h),d&&d.m(t,null),append(t,n);for(let e=0;e<m.length;e+=1)m[e].m(t,null);append(t,o),append(t,r),append(t,i),append(t,a),mount_component(s,a,null),e[11](a),c=!0,l||(u=listen(a,"click",e[6]),l=!0)},p(e,[r]){if(e[3]?d?(d.p(e,r),8&r&&transition_in(d,1)):(d=create_if_block$9(e),d.c(),transition_in(d,1),d.m(t,n)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),52&r){let n;for(p=e[4].filter(e[9]),n=0;n<p.length;n+=1){const i=get_each_context$9(e,p,n);m[n]?(m[n].p(i,r),transition_in(m[n],1)):(m[n]=create_each_block$9(i),m[n].c(),transition_in(m[n],1),m[n].m(t,o))}for(group_outros(),n=p.length;n<m.length;n+=1)h(n);check_outros()}},i(e){if(!c){transition_in(d);for(let e=0;e<p.length;e+=1)transition_in(m[e]);transition_in(s.$$.fragment,e),c=!0}},o(e){transition_out(d),m=m.filter(Boolean);for(let e=0;e<m.length;e+=1)transition_out(m[e]);transition_out(s.$$.fragment,e),c=!1},d(n){n&&detach(t),d&&d.d(),destroy_each(m,n),destroy_component(s),e[11](null),l=!1,u()}}}function instance$j(e,t,n){let o,r,i,a;component_subscribe(e,selectedWidget,(e=>n(2,o=e))),component_subscribe(e,visibleHamburgerMenuWidget,(e=>n(3,r=e)));function s(e){set_store_value(selectedWidget,o=e==o?null:e,o)}return useConfig(),[i,a,o,r,[{icon:"icon database",name:"database",title:"Database connections"},{icon:"icon file",name:"file",title:"Favorites & Saved files"},{icon:"icon history",name:"history",title:"Query history & Closed tabs"},{icon:"icon archive",name:"archive",title:"Archive (saved tabular data)"},{icon:"icon plugin",name:"plugins",title:"Extensions & Plugins"},{icon:"icon cell-data",name:"cell-data",title:"Selected cell data detail view"},{icon:"icon app",name:"app",title:"Application layers"}],s,function(){const e=i.getBoundingClientRect(),t=e.right,n=e.bottom;currentDropDownMenu.set({left:t,top:n,items:[{command:"settings.show"},{command:"theme.changeTheme"},{command:"settings.commands"}]})},function(){const e=a.getBoundingClientRect(),t=e.right,n=e.top,o=mainMenuDefinition({editMenu:!1});currentDropDownMenu.set({left:t,top:n,items:o})},function(e){binding_callbacks[e?"unshift":"push"]((()=>{a=e,n(1,a)}))},e=>hasPermission(`widgets/${e.name}`),e=>s(e.name),function(e){binding_callbacks[e?"unshift":"push"]((()=>{i=e,n(0,i)}))}]}class WidgetIconPanel extends SvelteComponent{constructor(e){super(),init(this,e,instance$j,create_fragment$i,safe_not_equal,{})}}function create_fragment$h(e){let t,n,o;const r=[e[3],{tabid:e[0]},{tabVisible:e[1]}];var i=e[2];function a(e){let t={};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(n=new i(a())),{c(){t=element("div"),n&&create_component(n.$$.fragment),attr(t,"class","svelte-3h7mlk"),toggle_class(t,"tabVisible",e[1])},m(e,r){insert(e,t,r),n&&mount_component(n,t,null),o=!0},p(e,[o]){const s=11&o?get_spread_update(r,[8&o&&get_spread_object(e[3]),1&o&&{tabid:e[0]},2&o&&{tabVisible:e[1]}]):{};if(i!==(i=e[2])){if(n){group_outros();const e=n;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(n=new i(a()),create_component(n.$$.fragment),transition_in(n.$$.fragment,1),mount_component(n,t,null)):n=null}else i&&n.$set(s);2&o&&toggle_class(t,"tabVisible",e[1])},i(e){o||(n&&transition_in(n.$$.fragment,e),o=!0)},o(e){n&&transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),n&&destroy_component(n)}}}function instance$i(e,t,n){const o=["tabid","tabVisible","tabComponent"];let r=compute_rest_props(t,o),{tabid:i}=t,{tabVisible:a}=t,{tabComponent:s}=t;const c=writable(a);return setContext("tabid",i),setContext("tabVisible",c),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"tabid"in e&&n(0,i=e.tabid),"tabVisible"in e&&n(1,a=e.tabVisible),"tabComponent"in e&&n(2,s=e.tabComponent)},e.$$.update=()=>{2&e.$$.dirty&&c.set(a)},[i,a,s,r]}class TabContent extends SvelteComponent{constructor(e){super(),init(this,e,instance$i,create_fragment$h,safe_not_equal,{tabid:0,tabVisible:1,tabComponent:2})}}function get_each_context$8(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_each_block$8(e,t){let n,o,r;const i=[{tabComponent:t[0][t[3]].tabComponent},t[0][t[3]].props,{tabid:t[3]},{tabVisible:t[3]==(t[1]&&t[1].tabid)}];let a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);return o=new TabContent({props:a}),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){t=e;const r=3&n?get_spread_update(i,[1&n&&{tabComponent:t[0][t[3]].tabComponent},1&n&&get_spread_object(t[0][t[3]].props),1&n&&{tabid:t[3]},{tabVisible:t[3]==(t[1]&&t[1].tabid)}]):{};o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),destroy_component(o,e)}}}function create_fragment$g(e){let t,n,o=[],r=new Map,i=_.keys(e[0]);const a=e=>e[3];for(let t=0;t<i.length;t+=1){let n=get_each_context$8(e,i,t),s=a(n);r.set(s,o[t]=create_each_block$8(s,n))}return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,r){for(let t=0;t<o.length;t+=1)o[t].m(e,r);insert(e,t,r),n=!0},p(e,[n]){3&n&&(i=_.keys(e[0]),group_outros(),o=update_keyed_each(o,n,a,1,e,i,r,t.parentNode,outro_and_destroy_block,create_each_block$8,t,get_each_context$8),check_outros())},i(e){if(!n){for(let e=0;e<i.length;e+=1)transition_in(o[e]);n=!0}},o(e){for(let e=0;e<o.length;e+=1)transition_out(o[e]);n=!1},d(e){for(let t=0;t<o.length;t+=1)o[t].d(e);e&&detach(t)}}}function createTabComponent(e){var t;const n=null===(t=tabs[e.tabComponent])||void 0===t?void 0:t.default;return n?{tabComponent:n,props:e&&e.props}:null}function instance$h(e,t,n){let o,r;component_subscribe(e,openedTabs,(e=>n(2,r=e)));let i={};return e.$$.update=()=>{if(4&e.$$.dirty&&n(1,o=r.find((e=>e.selected&&null==e.closedTime))),5&e.$$.dirty&&_.difference(_.keys(i),_.map(r.filter((e=>null==e.closedTime)),"tabid")).length>0&&n(0,i=_.pickBy(i,((e,t)=>r.find((e=>e.tabid==t&&null==e.closedTime))))),3&e.$$.dirty&&o){const{tabid:e}=o;if(e&&!i[e]){const t=createTabComponent(o);t&&n(0,i=Object.assign(Object.assign({},i),{[e]:t}))}}},[i,o,r]}class TabRegister extends SvelteComponent{constructor(e){super(),init(this,e,instance$h,create_fragment$g,safe_not_equal,{})}}function get_each_context$7(e,t,n){const o=e.slice();return o[25]=t[n],o[26]=t,o[27]=n,o}function create_if_block_1$7(e){let t,n,o;return n=new FontIcon({props:{icon:e[25].icon}}),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};64&t&&(o.icon=e[25].icon),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$8(e){let t,n,o=e[25].keyText+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","shortcut svelte-1kyrubd")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){64&t&&o!==(o=e[25].keyText+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_each_block$7(e){let t,n,o,r,i,a,s,c,l,u=e[25].text+"",d=e[27],p=e[25].icon&&create_if_block_1$7(e),m=e[25].keyText&&create_if_block$8(e);function h(){return e[22](e[25])}const f=()=>e[23](t,d),g=()=>e[23](null,d);return{c(){t=element("div"),n=element("div"),p&&p.c(),o=space(),r=text$1(u),i=space(),m&&m.c(),a=space(),attr(t,"class","command svelte-1kyrubd"),toggle_class(t,"selected",e[27]==e[2])},m(e,u){insert(e,t,u),append(t,n),p&&p.m(n,null),append(n,o),append(n,r),append(t,i),m&&m.m(t,null),append(t,a),f(),s=!0,c||(l=listen(t,"click",h),c=!0)},p(i,c){(e=i)[25].icon?p?(p.p(e,c),64&c&&transition_in(p,1)):(p=create_if_block_1$7(e),p.c(),transition_in(p,1),p.m(n,o)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),(!s||64&c)&&u!==(u=e[25].text+"")&&set_data(r,u),e[25].keyText?m?m.p(e,c):(m=create_if_block$8(e),m.c(),m.m(t,a)):m&&(m.d(1),m=null),d!==e[27]&&(g(),d=e[27],f()),4&c&&toggle_class(t,"selected",e[27]==e[2])},i(e){s||(transition_in(p),s=!0)},o(e){transition_out(p),s=!1},d(e){e&&detach(t),p&&p.d(),m&&m.d(),g(),c=!1,l()}}}function create_fragment$f(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b;r=new FontIcon({props:{icon:"icon menu"}}),c=new FontIcon({props:{icon:"icon database"}});let v=e[6],y=[];for(let t=0;t<v.length;t+=1)y[t]=create_each_block$7(get_each_context$7(e,v,t));const x=e=>transition_out(y[e],1,1,(()=>{y[e]=null}));return{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=text$1(" Commands"),a=space(),s=element("div"),create_component(c.$$.fragment),l=text$1(" Database"),u=space(),d=element("div"),p=element("div"),m=element("input"),f=space(),g=element("div");for(let e=0;e<y.length;e+=1)y[e].c();attr(o,"class","page svelte-1kyrubd"),toggle_class(o,"selected","menu"==e[4]),attr(s,"class","page svelte-1kyrubd"),toggle_class(s,"selected","database"==e[4]),attr(n,"class","pages svelte-1kyrubd"),attr(m,"type","text"),attr(m,"placeholder",h=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")),attr(m,"class","svelte-1kyrubd"),attr(p,"class","search svelte-1kyrubd"),attr(g,"class","content svelte-1kyrubd"),attr(d,"class","mainInner svelte-1kyrubd"),attr(t,"class","main svelte-1kyrubd")},m(h,v){insert(h,t,v),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(n,a),append(n,s),mount_component(c,s,null),append(s,l),append(t,u),append(t,d),append(d,p),append(p,m),e[20](m),set_input_value(m,e[0]),append(d,f),append(d,g);for(let e=0;e<y.length;e+=1)y[e].m(g,null);_=!0,$||(b=[listen(o,"click",e[18]),listen(s,"click",e[19]),listen(m,"input",e[21]),listen(m,"keydown",e[10]),action_destroyer(clickOutside.call(null,t)),listen(t,"clickOutside",e[24])],$=!0)},p(e,[t]){if(16&t&&toggle_class(o,"selected","menu"==e[4]),16&t&&toggle_class(s,"selected","database"==e[4]),(!_||24&t&&h!==(h=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")))&&attr(m,"placeholder",h),1&t&&m.value!==e[0]&&set_input_value(m,e[0]),582&t){let n;for(v=e[6],n=0;n<v.length;n+=1){const o=get_each_context$7(e,v,n);y[n]?(y[n].p(o,t),transition_in(y[n],1)):(y[n]=create_each_block$7(o),y[n].c(),transition_in(y[n],1),y[n].m(g,null))}for(group_outros(),n=v.length;n<y.length;n+=1)x(n);check_outros()}},i(e){if(!_){transition_in(r.$$.fragment,e),transition_in(c.$$.fragment,e);for(let e=0;e<v.length;e+=1)transition_in(y[e]);_=!0}},o(e){transition_out(r.$$.fragment,e),transition_out(c.$$.fragment,e),y=y.filter(Boolean);for(let e=0;e<y.length;e+=1)transition_out(y[e]);_=!1},d(n){n&&detach(t),destroy_component(r),destroy_component(c),e[20](null),destroy_each(y,n),$=!1,run_all(b)}}}function extractDbItems(e,t,n){const o=_.flatten(["tables","collections","views","matviews","procedures","functions"].map((n=>_.sortBy(((e||{})[n]||[]).map((e=>({text:e.pureName,onClick:()=>handleDatabaseObjectClick({objectTypeField:n,...t,...e}),icon:databaseObjectIcons[n]}))),["text"])))),r=[];for(const e of n||[]){const t=e._id;if(e.singleDatabase)continue;if(getCurrentConfig()?.singleDatabase)continue;const n=getLocalStorage(`database_list_${t}`)||[];for(const t of n)r.push({text:`${t.name} on ${getConnectionLabel(e)}`,icon:"img database",onClick:()=>currentDatabase.set({connection:e,name:t.name})})}return[..._.sortBy(r,"text"),...o]}function instance$g(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f,g,$=noop$3,b=noop$3;component_subscribe(e,visibleCommandPalette,(e=>n(4,d=e))),component_subscribe(e,currentDatabase,(e=>n(16,h=e))),component_subscribe(e,commandsCustomized,(e=>n(17,f=e))),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b()));let v="";const y={};function x(e){e.getSubCommands?(set_store_value(visibleCommandPalette,d=e,d),g.focus(),n(0,v=""),n(2,o=0)):(set_store_value(visibleCommandPalette,d=null,d),e.onClick())}onMount((()=>{const e=document.activeElement;return g.focus(),()=>{e&&e.focus()}}));return e.$$.update=()=>{1&e.$$.dirty&&n(2,o=0),16&e.$$.dirty&&n(3,r=_.isPlainObject(d)?d:null),131072&e.$$.dirty&&n(11,i=_.sortBy(Object.values(f).filter((e=>e.enabled)),"text")),65536&e.$$.dirty&&n(13,a=_.get(h,"connection._id")),65536&e.$$.dirty&&n(12,s=_.get(h,"name")),12288&e.$$.dirty&&(n(8,c=useDatabaseInfo({conid:a,database:s})),b(),b=subscribe(c,(e=>n(15,m=e)))),63513&e.$$.dirty&&n(6,u=("database"==d?extractDbItems(m,{conid:a,database:s},p):r?r.getSubCommands():i).filter((e=>!e.isGroupCommand&&lib$4.filterName(v,e.text)))),6&e.$$.dirty&&y[o]&&y[o].scrollIntoView({block:"nearest",inline:"nearest"})},n(7,l=useConnectionList()),$(),$=subscribe(l,(e=>n(14,p=e))),[v,y,o,r,d,g,u,l,c,x,function(e){e.keyCode==keycodes.upArrow&&o>0&&n(2,o--,o),e.keyCode==keycodes.downArrow&&o<u.length-1&&n(2,o++,o),e.keyCode==keycodes.enter&&(e.preventDefault(),e.stopPropagation(),x(u[o])),e.keyCode==keycodes.escape&&set_store_value(visibleCommandPalette,d=null,d),e.keyCode==keycodes.pageDown&&n(2,o=Math.min(o+15,u.length-1)),e.keyCode==keycodes.pageUp&&n(2,o=Math.max(o-15,0))},i,s,a,p,m,h,f,()=>{set_store_value(visibleCommandPalette,d="menu",d),g.focus()},()=>{set_store_value(visibleCommandPalette,d="database",d),g.focus()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{g=e,n(5,g)}))},function(){v=this.value,n(0,v)},e=>x(e),function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{y[t]=e,n(1,y)}))},()=>{set_store_value(visibleCommandPalette,d=null,d)}]}registerCommand({id:"commandPalette.show",category:"Command palette",name:"Show",toolbarName:"Command palette",toolbarOrder:0,keyText:"F1",toolbar:!0,showDisabled:!0,icon:"icon menu",onClick:()=>visibleCommandPalette.set("menu"),testEnabled:()=>"menu"!=getVisibleCommandPalette()}),registerCommand({id:"database.search",category:"Database",toolbarName:"Database search",name:"Search",keyText:isElectronAvailable()?"CtrlOrCommand+P":"F3",onClick:()=>visibleCommandPalette.set("database"),testEnabled:()=>"database"!=getVisibleCommandPalette()});class CommandPalette extends SvelteComponent{constructor(e){super(),init(this,e,instance$g,create_fragment$f,safe_not_equal,{})}}function get_each_context$6(e,t,n){const o=e.slice();return o[8]=t[n],o}function get_each_context_1(e,t,n){const o=e.slice();return o[8]=t[n],o}function get_each_context_2(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block_1$6(e){let t,n;return t=new ToolbarButton({props:{externalImage:"logo192.png"}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2(e){let t,n=e[13].title+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){4&o&&n!==(n=e[13].title+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_each_block_2(e){let t,n;return t=new ToolbarButton({props:{icon:e[13].icon||"icon favorite",$$slots:{default:[create_default_slot_2]},$$scope:{ctx:e}}}),t.$on("click",(function(){return e[7](e[13])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4&o&&(r.icon=e[13].icon||"icon favorite"),65540&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1(e){let t,n,o=(e[8].toolbarName||e[8].name)+"";return{c(){t=text$1(o),n=space()},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,n){1&n&&o!==(o=(e[8].toolbarName||e[8].name)+"")&&set_data(t,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_each_block_1(e){let t,n;return t=new ToolbarButton({props:{icon:e[8].icon,disabled:!e[8].enabled,title:getCommandTitle(e[8]),$$slots:{default:[create_default_slot_1]},$$scope:{ctx:e}}}),t.$on("click",(function(){is_function(e[8].onClick)&&e[8].onClick.apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};1&o&&(r.icon=e[8].icon),1&o&&(r.disabled=!e[8].enabled),1&o&&(r.title=getCommandTitle(e[8])),65537&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$7(e){let t,n,o,r,i,a,s,c=e[3].title+"";return o=new FontIcon({props:{icon:e[3].icon}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(c),a=text$1(":"),attr(n,"class","activeTabInner svelte-1qj7qwd"),attr(t,"class","activeTab svelte-1qj7qwd")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(n,a),s=!0},p(e,t){const n={};8&t&&(n.icon=e[3].icon),o.$set(n),(!s||8&t)&&c!==(c=e[3].title+"")&&set_data(i,c)},i(e){s||(transition_in(o.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_default_slot$1(e){let t,n,o=(e[8].toolbarName||e[8].name)+"";return{c(){t=text$1(o),n=space()},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,n){1&n&&o!==(o=(e[8].toolbarName||e[8].name)+"")&&set_data(t,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_each_block$6(e){let t,n;return t=new ToolbarButton({props:{icon:e[8].icon,disabled:!e[8].enabled,title:getCommandTitle(e[8]),$$slots:{default:[create_default_slot$1]},$$scope:{ctx:e}}}),t.$on("click",(function(){is_function(e[8].onClick)&&e[8].onClick.apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};1&o&&(r.icon=e[8].icon),1&o&&(r.disabled=!e[8].enabled),1&o&&(r.title=getCommandTitle(e[8])),65537&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$e(e){let t,n,o,r,i,a,s,c,l=e[3]&&e[0].filter(func).length>0,u=!e[4]&&create_if_block_1$6(e),d=(e[2]||[]).filter(func_1),p=[];for(let t=0;t<d.length;t+=1)p[t]=create_each_block_2(get_each_context_2(e,d,t));const m=e=>transition_out(p[e],1,1,(()=>{p[e]=null}));let h=e[0].filter(func_2),f=[];for(let t=0;t<h.length;t+=1)f[t]=create_each_block_1(get_each_context_1(e,h,t));const g=e=>transition_out(f[e],1,1,(()=>{f[e]=null}));let _=l&&create_if_block$7(e),$=e[0].filter(func_3),b=[];for(let t=0;t<$.length;t+=1)b[t]=create_each_block$6(get_each_context$6(e,$,t));const v=e=>transition_out(b[e],1,1,(()=>{b[e]=null}));return{c(){t=element("div"),n=element("div"),u&&u.c(),o=space();for(let e=0;e<p.length;e+=1)p[e].c();r=space();for(let e=0;e<f.length;e+=1)f[e].c();i=space(),a=element("div"),_&&_.c(),s=space();for(let e=0;e<b.length;e+=1)b[e].c();attr(n,"class","container svelte-1qj7qwd"),attr(a,"class","container svelte-1qj7qwd"),attr(t,"class","root svelte-1qj7qwd")},m(e,l){insert(e,t,l),append(t,n),u&&u.m(n,null),append(n,o);for(let e=0;e<p.length;e+=1)p[e].m(n,null);append(n,r);for(let e=0;e<f.length;e+=1)f[e].m(n,null);append(t,i),append(t,a),_&&_.m(a,null),append(a,s);for(let e=0;e<b.length;e+=1)b[e].m(a,null);c=!0},p(e,[t]){if(e[4]||u.p(e,t),4&t){let o;for(d=(e[2]||[]).filter(func_1),o=0;o<d.length;o+=1){const i=get_each_context_2(e,d,o);p[o]?(p[o].p(i,t),transition_in(p[o],1)):(p[o]=create_each_block_2(i),p[o].c(),transition_in(p[o],1),p[o].m(n,r))}for(group_outros(),o=d.length;o<p.length;o+=1)m(o);check_outros()}if(1&t){let o;for(h=e[0].filter(func_2),o=0;o<h.length;o+=1){const r=get_each_context_1(e,h,o);f[o]?(f[o].p(r,t),transition_in(f[o],1)):(f[o]=create_each_block_1(r),f[o].c(),transition_in(f[o],1),f[o].m(n,null))}for(group_outros(),o=h.length;o<f.length;o+=1)g(o);check_outros()}if(9&t&&(l=e[3]&&e[0].filter(func).length>0),l?_?(_.p(e,t),9&t&&transition_in(_,1)):(_=create_if_block$7(e),_.c(),transition_in(_,1),_.m(a,s)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),1&t){let n;for($=e[0].filter(func_3),n=0;n<$.length;n+=1){const o=get_each_context$6(e,$,n);b[n]?(b[n].p(o,t),transition_in(b[n],1)):(b[n]=create_each_block$6(o),b[n].c(),transition_in(b[n],1),b[n].m(a,null))}for(group_outros(),n=$.length;n<b.length;n+=1)v(n);check_outros()}},i(e){if(!c){transition_in(u);for(let e=0;e<d.length;e+=1)transition_in(p[e]);for(let e=0;e<h.length;e+=1)transition_in(f[e]);transition_in(_);for(let e=0;e<$.length;e+=1)transition_in(b[e]);c=!0}},o(e){transition_out(u),p=p.filter(Boolean);for(let e=0;e<p.length;e+=1)transition_out(p[e]);f=f.filter(Boolean);for(let e=0;e<f.length;e+=1)transition_out(f[e]);transition_out(_),b=b.filter(Boolean);for(let e=0;e<b.length;e+=1)transition_out(b[e]);c=!1},d(e){e&&detach(t),u&&u.d(),destroy_each(p,e),destroy_each(f,e),_&&_.d(),destroy_each(b,e)}}}function getCommandTitle(e){let t=e.text;return(e.keyText||e.keyTextFromGroup)&&(t+=` (${formatKeyText(e.keyText||e.keyTextFromGroup)})`),t}const func=e=>e.isRelatedToTab,func_1=e=>e.showInToolbar,func_2=e=>!e.isRelatedToTab,func_3=e=>e.isRelatedToTab;function instance$f(e,t,n){let o,r,i,a,s,c=noop$3;component_subscribe(e,commandsCustomized,(e=>n(5,i=e))),component_subscribe(e,activeTab,(e=>n(3,s=e))),e.$$.on_destroy.push((()=>c()));const l=getElectron();return e.$$.update=()=>{32&e.$$.dirty&&n(0,r=_.sortBy(Object.values(i).filter((e=>(e.enabled||e.showDisabled)&&e.toolbar&&e.onClick)),(e=>null==e.toolbarOrder?100:e.toolbarOrder)))},n(1,o=useFavorites()),c(),c=subscribe(o,(e=>n(2,a=e))),[r,o,a,s,l,i,()=>runCommand("about.show"),e=>openFavorite(e)]}class Toolbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$f,create_fragment$e,safe_not_equal,{})}}function get_each_context$5(e,t,n){const o=e.slice();return o[20]=t[n],o}function create_else_block$2(e){let t,n,o,r,i,a,s,c,l,u=(e[20].text||e[20].label)+"",d=e[20].keyText&&create_if_block_3$2(e),p=e[20].submenu&&create_if_block_2$2();function m(...t){return e[15](e[20],...t)}function h(...t){return e[16](e[20],...t)}return{c(){t=element("li"),n=element("a"),o=text$1(u),r=space(),d&&d.c(),i=space(),p&&p.c(),a=space(),attr(n,"class","svelte-1dx95r8"),toggle_class(n,"disabled",e[20].disabled)},m(e,u){insert(e,t,u),append(t,n),append(n,o),append(n,r),d&&d.m(n,null),append(n,i),p&&p.m(n,null),append(t,a),s=!0,c||(l=[listen(n,"click",m),listen(t,"mouseenter",h)],c=!0)},p(t,r){e=t,(!s||256&r)&&u!==(u=(e[20].text||e[20].label)+"")&&set_data(o,u),e[20].keyText?d?d.p(e,r):(d=create_if_block_3$2(e),d.c(),d.m(n,i)):d&&(d.d(1),d=null),e[20].submenu?p?256&r&&transition_in(p,1):(p=create_if_block_2$2(),p.c(),transition_in(p,1),p.m(n,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),256&r&&toggle_class(n,"disabled",e[20].disabled)},i(e){s||(transition_in(p),s=!0)},o(e){transition_out(p),s=!1},d(e){e&&detach(t),d&&d.d(),p&&p.d(),c=!1,run_all(l)}}}function create_if_block_1$5(e){let t;return{c(){t=element("li"),attr(t,"class","divider svelte-1dx95r8")},m(e,n){insert(e,t,n)},p:noop$3,i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_3$2(e){let t,n,o=formatKeyText(e[20].keyText)+"";return{c(){t=element("span"),n=text$1(o),attr(t,"class","keyText svelte-1dx95r8")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){256&t&&o!==(o=formatKeyText(e[20].keyText)+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block_2$2(e){let t,n,o;return n=new FontIcon({props:{icon:"icon menu-right"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","menu-right svelte-1dx95r8")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_each_block$5(e){let t,n,o,r;const i=[create_if_block_1$5,create_else_block$2],a=[];function s(e,t){return e[20].divider?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_if_block$6(e){let t,n;const o=[{items:e[6]?.submenu},e[7],{onCloseParent:e[18]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DropDownMenu({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=708&n?get_spread_update(o,[64&n&&{items:e[6]?.submenu},128&n&&get_spread_object(e[7]),516&n&&{onCloseParent:e[18]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$d(e){let t,n,o,r,i,a=e[8],s=[];for(let t=0;t<a.length;t+=1)s[t]=create_each_block$5(get_each_context$5(e,a,t));const c=e=>transition_out(s[e],1,1,(()=>{s[e]=null}));let l=e[6]?.submenu&&create_if_block$6(e);return{c(){t=element("ul");for(let e=0;e<s.length;e+=1)s[e].c();o=space(),l&&l.c(),r=empty(),attr(t,"class","dropDownMenuMarker svelte-1dx95r8"),attr(t,"style",n=`left: ${e[1]}px; top: ${e[0]}px`)},m(n,a){insert(n,t,a);for(let e=0;e<s.length;e+=1)s[e].m(t,null);e[17](t),insert(n,o,a),l&&l.m(n,a),insert(n,r,a),i=!0},p(e,[o]){if(3376&o){let n;for(a=e[8],n=0;n<a.length;n+=1){const r=get_each_context$5(e,a,n);s[n]?(s[n].p(r,o),transition_in(s[n],1)):(s[n]=create_each_block$5(r),s[n].c(),transition_in(s[n],1),s[n].m(t,null))}for(group_outros(),n=a.length;n<s.length;n+=1)c(n);check_outros()}(!i||3&o&&n!==(n=`left: ${e[1]}px; top: ${e[0]}px`))&&attr(t,"style",n),e[6]?.submenu?l?(l.p(e,o),64&o&&transition_in(l,1)):(l=create_if_block$6(e),l.c(),transition_in(l,1),l.m(r.parentNode,r)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros())},i(e){if(!i){for(let e=0;e<a.length;e+=1)transition_in(s[e]);transition_in(l),i=!0}},o(e){s=s.filter(Boolean);for(let e=0;e<s.length;e+=1)transition_out(s[e]);transition_out(l),i=!1},d(n){n&&detach(t),destroy_each(s,n),e[17](null),n&&detach(o),l&&l.d(n),n&&detach(r)}}}function getElementOffset(e,t=null){var n=document.documentElement,o=e.getBoundingClientRect(),r=o.top+window.pageYOffset-n.clientTop,i=o.left+window.pageXOffset-n.clientLeft;return"right"==t?{top:r,left:i+o.width}:{top:r,left:i}}function fixPopupPlacement(e){const{width:t,height:n}=e.getBoundingClientRect();let o=getElementOffset(e),r=null,i=null;o.left+t>window.innerWidth&&(r=o.left-t,r<0&&(r=0)),o.top+n>window.innerHeight&&(i=o.top-n,i<0&&(i=0),i+n>window.innerHeight&&(e.style.height=window.innerHeight-i+"px")),null!=r&&(e.style.left=`${r}px`),null!=i&&(e.style.top=`${i}px`)}function instance$e(e,t,n){let o,r;component_subscribe(e,commandsCustomized,(e=>n(14,r=e)));let i,a,s,c,l,{items:u}=t,{top:d}=t,{left:p}=t,{onCloseParent:m}=t,{targetElement:h}=t;const f=createEventDispatcher();function g(e,t){if(!t.disabled){if(t.submenu)return n(4,a=t),n(5,s=getElementOffset(e.target,"right")),n(6,c=t),void n(7,l=s);f("close"),m&&m(),t.onClick&&t.onClick()}}onMount((()=>{fixPopupPlacement(i)}));const $=_.throttle((()=>{n(6,c=a),n(7,l=s)}),500),b=e=>{e.target.closest("ul.dropDownMenuMarker")||f("close")};onMount((()=>(document.addEventListener("mousedown",b,!0),()=>{document.removeEventListener("mousedown",b,!0)})));return e.$$set=e=>{"items"in e&&n(12,u=e.items),"top"in e&&n(0,d=e.top),"left"in e&&n(1,p=e.left),"onCloseParent"in e&&n(2,m=e.onCloseParent),"targetElement"in e&&n(13,h=e.targetElement)},e.$$.update=()=>{28672&e.$$.dirty&&n(8,o=prepareMenuItems(u,{targetElement:h},r))},[d,p,m,i,a,s,c,l,o,f,g,$,u,h,r,(e,t)=>g(t,e),(e,t)=>{n(5,s=getElementOffset(t.target,"right")),n(4,a=e),$()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{i=e,n(3,i)}))},()=>{m&&m(),f("close")}]}class DropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$e,create_fragment$d,safe_not_equal,{items:12,top:0,left:1,onCloseParent:2,targetElement:13})}}function create_if_block$5(e){let t,n;return t=new DropDownMenu({props:{left:e[0].left,top:e[0].top,items:e[0].items,targetElement:e[0].targetElement}}),t.$on("close",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.left=e[0].left),1&n&&(o.top=e[0].top),1&n&&(o.items=e[0].items),1&n&&(o.targetElement=e[0].targetElement),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$c(e){let t,n,o=e[0]&&create_if_block$5(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$5(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$d(e,t,n){let o;component_subscribe(e,currentDropDownMenu,(e=>n(0,o=e)));return[o,()=>set_store_value(currentDropDownMenu,o=null,o)]}class CurrentDropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$d,create_fragment$c,safe_not_equal,{})}}function create_default_slot(e){let t,n,o,r,i;return r=new ColorSelector({props:{value:e[4]}}),r.$on("change",e[8]),{c(){t=element("div"),n=text$1(e[3]),o=space(),create_component(r.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(r,e,a),i=!0},p(e,t){(!i||8&t)&&set_data(n,e[3]);const o={};16&t&&(o.value=e[4]),r.$set(o)},i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(r,e)}}}function create_header_slot(e){let t;return{c(){t=text$1(e[2])},m(e,n){insert(e,t,n)},p(e,n){4&n&&set_data(t,e[2])},d(e){e&&detach(t)}}}function create_fragment$b(e){let t,n;const o=[e[6]];let r={$$slots:{header:[create_header_slot],default:[create_default_slot]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=64&n?get_spread_update(o,[get_spread_object(e[6])]):{};543&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$c(e,t,n){let o;const r=["conid","database","header","text"];let i,a=compute_rest_props(t,r),{conid:s}=t,{database:c}=t,{header:l}=t,{text:u}=t;const d=useConnectionColor({conid:s,database:c},null,null,!1,!1);component_subscribe(e,d,(e=>n(7,i=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,a=compute_rest_props(t,r)),"conid"in e&&n(0,s=e.conid),"database"in e&&n(1,c=e.database),"header"in e&&n(2,l=e.header),"text"in e&&n(3,u=e.text)},e.$$.update=()=>{128&e.$$.dirty&&n(4,o=i)},[s,c,l,u,o,d,a,i,e=>{n(4,o=e.detail),c?apiCall("connections/update-database",{conid:s,database:c,values:{connectionColor:e.detail}}):apiCall("connections/update",{_id:s,values:{connectionColor:e.detail}})}]}class ChooseConnectionColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$c,create_fragment$b,safe_not_equal,{conid:0,database:1,header:2,text:3})}}function get_each_context$4(e,t,n){const o=e.slice();return o[24]=t[n],o}function create_if_block_13(e){let t,n,o,r,i,a,s,c;const l=[create_if_block_15,create_else_block$1],u=[];function d(e,t){return e[1]?.isReadOnly?0:1}n=d(e),o=u[n]=l[n](e);let p=e[2]&&create_if_block_14(e);return{c(){t=element("div"),o.c(),r=space(),i=text$1(e[0]),a=space(),p&&p.c(),s=empty(),attr(t,"class","item svelte-1yzh05e")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,r),append(t,i),insert(e,a,o),p&&p.m(e,o),insert(e,s,o),c=!0},p(e,a){let m=n;n=d(e),n!==m&&(group_outros(),transition_out(u[m],1,1,(()=>{u[m]=null})),check_outros(),o=u[n],o||(o=u[n]=l[n](e),o.c()),transition_in(o,1),o.m(t,r)),(!c||1&a)&&set_data(i,e[0]),e[2]?p?(p.p(e,a),4&a&&transition_in(p,1)):(p=create_if_block_14(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){c||(transition_in(o),transition_in(p),c=!0)},o(e){transition_out(o),transition_out(p),c=!1},d(e){e&&detach(t),u[n].d(),e&&detach(a),p&&p.d(e),e&&detach(s)}}}function create_else_block$1(e){let t,n;return t=new FontIcon({props:{icon:"icon database",padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_15(e){let t,n;return t=new FontIcon({props:{icon:"icon lock",padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_14(e){let t,n,o,r,i,a;return o=new FontIcon({props:{icon:"icon palette"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"style",e[12]),attr(n,"class","colorbox svelte-1yzh05e"),attr(t,"class","item clickable svelte-1yzh05e"),attr(t,"title","Database color. Overrides connection color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),r=!0,i||(a=listen(t,"click",e[20]),i=!0)},p(e,t){(!r||4096&t)&&attr(n,"style",e[12])},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o),i=!1,a()}}}function create_if_block_11(e){let t,n,o,r,i,a,s;n=new FontIcon({props:{icon:"icon server",padRight:!0}});let c=e[2]&&create_if_block_12(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(e[7]),i=space(),c&&c.c(),a=empty(),attr(t,"class","item svelte-1yzh05e")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,r),insert(e,i,l),c&&c.m(e,l),insert(e,a,l),s=!0},p(e,t){(!s||128&t)&&set_data(r,e[7]),e[2]?c?(c.p(e,t),4&t&&transition_in(c,1)):(c=create_if_block_12(e),c.c(),transition_in(c,1),c.m(a.parentNode,a)):c&&(group_outros(),transition_out(c,1,1,(()=>{c=null})),check_outros())},i(e){s||(transition_in(n.$$.fragment,e),transition_in(c),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(c),s=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(i),c&&c.d(e),e&&detach(a)}}}function create_if_block_12(e){let t,n,o,r,i,a;return o=new FontIcon({props:{icon:"icon palette"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"style",e[13]),attr(n,"class","colorbox svelte-1yzh05e"),attr(t,"class","item clickable svelte-1yzh05e"),attr(t,"title","Connection color. Can be overriden by database color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),r=!0,i||(a=listen(t,"click",e[21]),i=!0)},p(e,t){(!r||8192&t)&&attr(n,"style",e[13])},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o),i=!1,a()}}}function create_if_block_10(e){let t,n,o,r,i,a=e[1].user+"";return n=new FontIcon({props:{icon:"icon account",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","item svelte-1yzh05e")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){(!i||2&t)&&a!==(a=e[1].user+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_4$1(e){let t,n,o,r,i,a;const s=[create_if_block_5$1,create_if_block_6$1,create_if_block_7,create_if_block_8,create_if_block_9],c=[];function l(e,t){return"pending"==e[14].name?0:"checkStructure"==e[14].name?1:"loadStructure"==e[14].name?2:"ok"==e[14].name?3:"error"==e[14].name?4:-1}return~(n=l(e))&&(o=c[n]=s[n](e)),{c(){t=element("div"),o&&o.c(),attr(t,"class","item clickable svelte-1yzh05e")},m(o,s){insert(o,t,s),~n&&c[n].m(t,null),r=!0,i||(a=listen(t,"click",e[22]),i=!0)},p(e,r){let i=n;n=l(e),n!==i&&(o&&(group_outros(),transition_out(c[i],1,1,(()=>{c[i]=null})),check_outros()),~n?(o=c[n],o||(o=c[n]=s[n](e),o.c()),transition_in(o,1),o.m(t,null)):o=null)},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){e&&detach(t),~n&&c[n].d(),i=!1,a()}}}function create_if_block_9(e){let t,n,o;return t=new FontIcon({props:{icon:"img error-inv",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Error")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_8(e){let t,n,o;return t=new FontIcon({props:{icon:"img ok-inv",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Connected")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_7(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Loading model")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_6$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Checking model")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_5$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Loading")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_3$1(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon disconnected",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Not connected"),attr(t,"class","item svelte-1yzh05e")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_2$1(e){let t,n,o,r,i,a,s,c=(e[15].versionText||e[15].version)+"";return n=new FontIcon({props:{icon:"icon version",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=text$1(c),attr(r,"class","version svelte-1yzh05e"),attr(t,"class","item flex svelte-1yzh05e"),attr(t,"title",a=e[15].version)},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),s=!0},p(e,n){(!s||32768&n)&&c!==(c=(e[15].versionText||e[15].version)+"")&&set_data(i,c),(!s||32768&n&&a!==(a=e[15].version))&&attr(t,"title",a)},i(e){s||(transition_in(n.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_1$4(e){let t,n,o,r,i,a,s,c,l,u=moment(e[14]?.analysedTime).fromNow()+(e[3],"");return n=new FontIcon({props:{icon:"icon history",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=text$1(u),attr(r,"class","version ml-1 svelte-1yzh05e"),attr(t,"class","item flex clickable svelte-1yzh05e"),attr(t,"title",a=`Last ${e[0]} model refresh: ${moment(e[14]?.analysedTime).format("HH:mm:ss")}\nClick for refresh DB model`)},m(a,u){insert(a,t,u),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),s=!0,c||(l=listen(t,"click",e[16]),c=!0)},p(e,n){(!s||16392&n)&&u!==(u=moment(e[14]?.analysedTime).fromNow()+(e[3],""))&&set_data(i,u),(!s||16385&n&&a!==(a=`Last ${e[0]} model refresh: ${moment(e[14]?.analysedTime).format("HH:mm:ss")}\nClick for refresh DB model`))&&attr(t,"title",a)},i(e){s||(transition_in(n.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),c=!1,l()}}}function create_if_block$4(e){let t,n;return t=new FontIcon({props:{icon:e[24].icon,padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.icon=e[24].icon),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$4(e){let t,n,o,r,i,a,s,c=e[24].text+"",l=e[24].icon&&create_if_block$4(e);return{c(){t=element("div"),l&&l.c(),n=space(),o=text$1(c),r=space(),attr(t,"class","item svelte-1yzh05e"),toggle_class(t,"clickable",e[24].clickable)},m(c,u){insert(c,t,u),l&&l.m(t,null),append(t,n),append(t,o),append(t,r),i=!0,a||(s=listen(t,"click",(function(){is_function(e[24].onClick)&&e[24].onClick.apply(this,arguments)})),a=!0)},p(r,a){(e=r)[24].icon?l?(l.p(e,a),256&a&&transition_in(l,1)):(l=create_if_block$4(e),l.c(),transition_in(l,1),l.m(t,n)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),(!i||256&a)&&c!==(c=e[24].text+"")&&set_data(o,c),256&a&&toggle_class(t,"clickable",e[24].clickable)},i(e){i||(transition_in(l),i=!0)},o(e){transition_out(l),i=!1},d(e){e&&detach(t),l&&l.d(),a=!1,s()}}}function create_fragment$a(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[0]&&create_if_block_13(e),m=e[7]&&create_if_block_11(e),h=e[1]&&e[1].user&&create_if_block_10(e),f=e[1]&&e[14]&&create_if_block_4$1(e),g=!e[1]&&create_if_block_3$1(),_=e[15]&&create_if_block_2$1(e),$=e[14]?.analysedTime&&create_if_block_1$4(e),b=e[8]||[],v=[];for(let t=0;t<b.length;t+=1)v[t]=create_each_block$4(get_each_context$4(e,b,t));const y=e=>transition_out(v[e],1,1,(()=>{v[e]=null}));return{c(){t=element("div"),n=element("div"),p&&p.c(),o=space(),m&&m.c(),r=space(),h&&h.c(),i=space(),f&&f.c(),a=space(),g&&g.c(),s=space(),_&&_.c(),c=space(),$&&$.c(),l=space(),u=element("div");for(let e=0;e<v.length;e+=1)v[e].c();attr(n,"class","container svelte-1yzh05e"),attr(u,"class","container svelte-1yzh05e"),attr(t,"class","main svelte-1yzh05e"),attr(t,"style",e[11])},m(e,b){insert(e,t,b),append(t,n),p&&p.m(n,null),append(n,o),m&&m.m(n,null),append(n,r),h&&h.m(n,null),append(n,i),f&&f.m(n,null),append(n,a),g&&g.m(n,null),append(n,s),_&&_.m(n,null),append(n,c),$&&$.m(n,null),append(t,l),append(t,u);for(let e=0;e<v.length;e+=1)v[e].m(u,null);d=!0},p(e,[l]){if(e[0]?p?(p.p(e,l),1&l&&transition_in(p,1)):(p=create_if_block_13(e),p.c(),transition_in(p,1),p.m(n,o)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),e[7]?m?(m.p(e,l),128&l&&transition_in(m,1)):(m=create_if_block_11(e),m.c(),transition_in(m,1),m.m(n,r)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),e[1]&&e[1].user?h?(h.p(e,l),2&l&&transition_in(h,1)):(h=create_if_block_10(e),h.c(),transition_in(h,1),h.m(n,i)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),e[1]&&e[14]?f?(f.p(e,l),16386&l&&transition_in(f,1)):(f=create_if_block_4$1(e),f.c(),transition_in(f,1),f.m(n,a)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),e[1]?g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros()):g?2&l&&transition_in(g,1):(g=create_if_block_3$1(),g.c(),transition_in(g,1),g.m(n,s)),e[15]?_?(_.p(e,l),32768&l&&transition_in(_,1)):(_=create_if_block_2$1(e),_.c(),transition_in(_,1),_.m(n,c)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),e[14]?.analysedTime?$?($.p(e,l),16384&l&&transition_in($,1)):($=create_if_block_1$4(e),$.c(),transition_in($,1),$.m(n,null)):$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()),256&l){let t;for(b=e[8]||[],t=0;t<b.length;t+=1){const n=get_each_context$4(e,b,t);v[t]?(v[t].p(n,l),transition_in(v[t],1)):(v[t]=create_each_block$4(n),v[t].c(),transition_in(v[t],1),v[t].m(u,null))}for(group_outros(),t=b.length;t<v.length;t+=1)y(t);check_outros()}(!d||2048&l)&&attr(t,"style",e[11])},i(e){if(!d){transition_in(p),transition_in(m),transition_in(h),transition_in(f),transition_in(g),transition_in(_),transition_in($);for(let e=0;e<b.length;e+=1)transition_in(v[e]);d=!0}},o(e){transition_out(p),transition_out(m),transition_out(h),transition_out(f),transition_out(g),transition_out(_),transition_out($),v=v.filter(Boolean);for(let e=0;e<v.length;e+=1)transition_out(v[e]);d=!1},d(e){e&&detach(t),p&&p.d(),m&&m.d(),h&&h.d(),f&&f.d(),g&&g.d(),_&&_.d(),$&&$.d(),destroy_each(v,e)}}}function instance$b(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y=noop$3,x=noop$3,w=noop$3,C=noop$3,k=noop$3;component_subscribe(e,activeTabId,(e=>n(17,m=e))),component_subscribe(e,statusBarTabInfo,(e=>n(18,h=e))),component_subscribe(e,currentDatabase,(e=>n(19,f=e))),e.$$.on_destroy.push((()=>y())),e.$$.on_destroy.push((()=>x())),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k()));var S=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let T=1;setInterval((()=>{n(3,T++,T)}),1e4);return e.$$.update=()=>{524288&e.$$.dirty&&n(0,o=f&&f.name),524288&e.$$.dirty&&n(1,r=f&&f.connection),3&e.$$.dirty&&n(2,i=r?{conid:r._id,database:o}:null),4&e.$$.dirty&&(n(10,a=useDatabaseStatus(i||{})),C(),C=subscribe(a,(e=>n(14,b=e)))),4&e.$$.dirty&&(n(9,s=useDatabaseServerVersion(i||{})),k(),k=subscribe(s,(e=>n(15,v=e)))),393216&e.$$.dirty&&n(8,c=h[m]),2&e.$$.dirty&&n(7,l=getConnectionLabel(r,{allowExplicitDatabase:!1})),4&e.$$.dirty&&(n(6,u=useConnectionColor(i,3,"dark",!0)),y(),y=subscribe(u,(e=>n(11,g=e)))),4&e.$$.dirty&&(n(5,d=useConnectionColor(i?{conid:i.conid}:null,6,"dark",!0)),w(),w=subscribe(d,(e=>n(13,$=e)))),4&e.$$.dirty&&(n(4,p=useConnectionColor(i,6,"dark",!0,!1)),x(),x=subscribe(p,(e=>n(12,_=e))))},[o,r,i,T,p,d,u,l,c,s,a,g,_,$,b,v,function(){return S(this,void 0,void 0,(function*(){r&&o&&(yield apiCall("database-connections/sync-model",{conid:r._id,database:o}))}))},m,h,f,()=>{showModal(ChooseConnectionColorModal,{...i,header:"Choose database color",text:"This color override connection color for specific database."})},()=>{showModal(ChooseConnectionColorModal,{conid:i.conid,header:"Choose connection color",text:"This color serves as default color for all databases in this connection."})},()=>visibleCommandPalette.set(findCommand("database.changeState"))]}class StatusBar extends SvelteComponent{constructor(e){super(),init(this,e,instance$b,create_fragment$a,safe_not_equal,{})}}function get_each_context$3(e,t,n){const o=e.slice();return o[7]=t[n],o}function create_if_block_1$3(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","close svelte-7p89xz")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",e[4]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_if_block$3(e){let t,n,o=e[3],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$3(get_each_context$3(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("div");for(let e=0;e<r.length;e+=1)r[e].c();attr(t,"class","buttons svelte-7p89xz")},m(e,o){insert(e,t,o);for(let e=0;e<r.length;e+=1)r[e].m(t,null);n=!0},p(e,n){if(8&n){let a;for(o=e[3],a=0;a<o.length;a+=1){const i=get_each_context$3(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$3(i),r[a].c(),transition_in(r[a],1),r[a].m(t,null))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function create_each_block$3(e){let t,n,o,r;return n=new FormStyledButton({props:{value:e[7].label}}),n.$on("click",(function(){is_function(e[7].onClick)&&e[7].onClick.apply(this,arguments)})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),attr(t,"class","button svelte-7p89xz")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},p(t,o){e=t;const r={};8&o&&(r.value=e[7].label),n.$set(r)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$9(e){let t,n,o,r,i,a,s,c;o=new FontIcon({props:{icon:e[1]}});let l=e[2]&&create_if_block_1$3(e),u=e[3]?.length>0&&create_if_block$3(e);return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(e[0]),a=space(),l&&l.c(),s=space(),u&&u.c(),attr(n,"class","message svelte-7p89xz"),attr(t,"class","wrapper svelte-7p89xz")},m(e,d){insert(e,t,d),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),l&&l.m(t,null),append(t,s),u&&u.m(t,null),c=!0},p(e,[n]){const r={};2&n&&(r.icon=e[1]),o.$set(r),(!c||1&n)&&set_data(i,e[0]),e[2]?l?(l.p(e,n),4&n&&transition_in(l,1)):(l=create_if_block_1$3(e),l.c(),transition_in(l,1),l.m(t,s)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),e[3]?.length>0?u?(u.p(e,n),8&n&&transition_in(u,1)):(u=create_if_block$3(e),u.c(),transition_in(u,1),u.m(t,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){c||(transition_in(o.$$.fragment,e),transition_in(l),transition_in(u),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(l),transition_out(u),c=!1},d(e){e&&detach(t),destroy_component(o),l&&l.d(),u&&u.d()}}}function instance$a(e,t,n){let{message:o}=t,{id:r}=t,{icon:i=null}=t,{autoClose:a=!1}=t,{allowClose:s=!1}=t,{buttons:c=[]}=t;function l(){openedSnackbars.update((e=>e.filter((e=>e.id!=r))))}return onMount((()=>{a&&setTimeout(l,3e3)})),e.$$set=e=>{"message"in e&&n(0,o=e.message),"id"in e&&n(5,r=e.id),"icon"in e&&n(1,i=e.icon),"autoClose"in e&&n(6,a=e.autoClose),"allowClose"in e&&n(2,s=e.allowClose),"buttons"in e&&n(3,c=e.buttons)},[o,i,s,c,l,r,a]}class Snackbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$a,create_fragment$9,safe_not_equal,{message:0,id:5,icon:1,autoClose:6,allowClose:2,buttons:3})}}function get_each_context$2(e,t,n){const o=e.slice();return o[1]=t[n].component,o[2]=t[n].props,o[3]=t[n].modalId,o}function create_each_block$2(e){let t,n,o;const r=[{modalId:e[3]},e[2]];var i=e[1];function a(e){let t={};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=new i(a())),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const s=1&o?get_spread_update(r,[{modalId:e[3]},get_spread_object(e[2])]):{};if(i!==(i=e[1])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=new i(a()),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_fragment$8(e){let t,n,o=e[0],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$2(get_each_context$2(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t].m(e,o);insert(e,t,o),n=!0},p(e,[n]){if(1&n){let a;for(o=e[0],a=0;a<o.length;a+=1){const i=get_each_context$2(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$2(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function instance$9(e,t,n){let o;return component_subscribe(e,openedModals,(e=>n(0,o=e))),[o]}class ModalLayer extends SvelteComponent{constructor(e){super(),init(this,e,instance$9,create_fragment$8,safe_not_equal,{})}}function create_fragment$7(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[0].join(", ")+"";return r=new FontIcon({props:{icon:"icon cloud-upload"}}),{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=element("div"),a.textContent="Drop the files to upload to DbGate",s=space(),c=element("div"),l=text$1("Supported file types: "),u=text$1(p),attr(o,"class","icon svelte-1scpsju"),attr(a,"class","title svelte-1scpsju"),attr(c,"class","info svelte-1scpsju"),attr(t,"class","target svelte-1scpsju")},m(e,p){insert(e,t,p),append(t,n),append(n,o),mount_component(r,o,null),append(n,i),append(n,a),append(n,s),append(n,c),append(c,l),append(c,u),d=!0},p(e,[t]){(!d||1&t)&&p!==(p=e[0].join(", ")+"")&&set_data(u,p)},i(e){d||(transition_in(r.$$.fragment,e),d=!0)},o(e){transition_out(r.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(r)}}}function instance$8(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(1,r=e)));const i=getElectron();return e.$$.update=()=>{2&e.$$.dirty&&n(0,o=_.compact([...r.fileFormats.filter((e=>e.readerFunc)).map((e=>e.name)),i?"SQL":null,i?"SQLite database":null]))},[o,r]}class DragAndDropFileTarget extends SvelteComponent{constructor(e){super(),init(this,e,instance$8,create_fragment$7,safe_not_equal,{})}}
|
|
76
76
|
/*! *****************************************************************************
|
|
77
77
|
Copyright (c) Microsoft Corporation.
|
|
78
78
|
|